diff --git a/source/shared_lib/sources/platform/posix/socket.cpp b/source/shared_lib/sources/platform/posix/socket.cpp index 3f43af9cf..8ceec4c34 100644 --- a/source/shared_lib/sources/platform/posix/socket.cpp +++ b/source/shared_lib/sources/platform/posix/socket.cpp @@ -959,6 +959,8 @@ void Socket::disconnectSocket() { MutexSafeWrapper safeMutex(dataSynchAccessorRead,CODE_AT_LINE); MutexSafeWrapper safeMutex1(dataSynchAccessorWrite,CODE_AT_LINE); + + if(isSocketValid() == true) { ::shutdown(sock,2); #ifndef WIN32 ::close(sock); @@ -967,6 +969,7 @@ void Socket::disconnectSocket() { ::closesocket(sock); sock = -1; #endif + } safeMutex.ReleaseLock(); safeMutex1.ReleaseLock(); }