diff options
Diffstat (limited to 'win')
-rw-r--r-- | win/tclWinSock.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/win/tclWinSock.c b/win/tclWinSock.c index ae9ba17..8f565b9 100644 --- a/win/tclWinSock.c +++ b/win/tclWinSock.c @@ -1239,8 +1239,8 @@ WaitForSocketEvent( /* * Reset WSAAsyncSelect so we have a fresh set of events pending. - * Don't do that if we are waiting for a connect as this may ignore - * a failed connect. + * Don't do that if we are waiting for a connect as we may miss + * a connect (bug 336441ed59). */ if ( 0 == (events & FD_CONNECT) ) { @@ -2413,11 +2413,15 @@ SocketProc( case SOCKET_SELECT: infoPtr = (SocketInfo *) lParam; if (wParam == SELECT) { + /* + * Start notification by windows messages on socket events + */ + WSAAsyncSelect(infoPtr->socket, hwnd, SOCKET_MESSAGE, infoPtr->selectEvents); } else { /* - * Clear the selection mask + * UNSELECT: Clear the selection mask */ WSAAsyncSelect(infoPtr->socket, hwnd, 0, 0); |