diff options
| -rw-r--r-- | win/tclWinSock.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/win/tclWinSock.c b/win/tclWinSock.c index 29f1737..2784962 100644 --- a/win/tclWinSock.c +++ b/win/tclWinSock.c @@ -546,7 +546,7 @@ TclpFinalizeSockets(void) * completely cleaned up before we leave this function. */ - WaitForSingleObject(tsdPtr->readyEvent, INFINITE); + WaitForSingleObject(tsdPtr->socketThread, INFINITE); tsdPtr->hwnd = NULL; } CloseHandle(tsdPtr->socketThread); @@ -2221,6 +2221,7 @@ Tcl_OpenTcpServerEx( addrPtr->ai_addrlen) == SOCKET_ERROR) { Tcl_WinConvertError((DWORD) WSAGetLastError()); closesocket(sock); + sock = INVALID_SOCKET; /* Bug [40b1814b93] */ continue; } if (port == 0 && chosenport == 0) { @@ -2249,6 +2250,7 @@ Tcl_OpenTcpServerEx( if (listen(sock, backlog) == SOCKET_ERROR) { Tcl_WinConvertError((DWORD) WSAGetLastError()); closesocket(sock); + sock = INVALID_SOCKET; /* Bug [40b1814b93] */ continue; } |
