diff --git a/src/lib/net/TCPSocket.cpp b/src/lib/net/TCPSocket.cpp index ea0a8cb4..91655ae3 100644 --- a/src/lib/net/TCPSocket.cpp +++ b/src/lib/net/TCPSocket.cpp @@ -483,16 +483,21 @@ TCPSocket::serviceConnected(ISocketMultiplexerJob* job, } const void* buffer = m_outputBuffer.peek(buffSize); + if (isSecure()) { if (isSecureReady()) { - s_retryOutputBufferSize = buffSize; status = secureWrite(buffer, buffSize, bytesWrote); if (status > 0) { s_retryOutputBufferSize = 0; + } else if (status < 0) { return NULL; } + else if (status == 0) { + s_retryOutputBufferSize = buffSize; + return job; + } } else { return job; @@ -553,6 +558,9 @@ TCPSocket::serviceConnected(ISocketMultiplexerJob* job, if (status < 0) { return NULL; } + else if (status == 0) { + return job; + } } else { return job;