summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--win/tclWinSock.c4
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;
}