diff options
Diffstat (limited to 'Ivy/BufferedSocket.cxx')
-rw-r--r-- | Ivy/BufferedSocket.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Ivy/BufferedSocket.cxx b/Ivy/BufferedSocket.cxx index fcf90c6..b91386f 100644 --- a/Ivy/BufferedSocket.cxx +++ b/Ivy/BufferedSocket.cxx @@ -24,6 +24,7 @@ CBufferedSocket::CBufferedSocket() CBufferedSocket::~CBufferedSocket()
{
free( buffer );
+ DeleteCriticalSection( &m_CritSection );
}
void CBufferedSocket::Accept(CBufferedSocket& rConnectedSocket, SOCKADDR* lpSockAddr , int* lpSockAddrLen )
{
@@ -74,7 +75,7 @@ void CBufferedSocket::OnReceive(int nErrorCode) current_ptr += nb;
ptr = buffer;
- while ((ptr_sep = (char*)memchr (ptr, separator, current_ptr - ptr )))
+ while ((ptr_sep = (char*)memchr (ptr, separator, current_ptr - ptr )) && m_hSocket != INVALID_SOCKET)
{
*ptr_sep = '\0';
//TRACE("message %s\n", ptr );
|