X-Git-Url: http://git.pk910.de/?p=NextIRCd.git;a=blobdiff_plain;f=src%2FIOHandler%2FIOEngine_win32.c;h=a5226ae792c0f16ea8f121dc66a1eff142cdbabf;hp=6f755c2307a3ccc2cbf46a0ca5457721aa8ccdad;hb=6385620286380e81ff8f22ac6c819bd098ec1e75;hpb=9e6045c7b6d7afc774eeb59fa5f5c4e02fe1f037 diff --git a/src/IOHandler/IOEngine_win32.c b/src/IOHandler/IOEngine_win32.c index 6f755c2..a5226ae 100644 --- a/src/IOHandler/IOEngine_win32.c +++ b/src/IOHandler/IOEngine_win32.c @@ -67,7 +67,14 @@ static LRESULT CALLBACK engine_win32_wndproc(HWND hWnd, UINT uMsg, WPARAM wParam iosock = engine_win32_get_iosock(wParam); events = WSAGETSELECTEVENT(lParam); - iosocket_events_callback(iosock, (events & (FD_READ | FD_ACCEPT | FD_CLOSE)) != 0, (events & (FD_WRITE | FD_CONNECT)) != 0); + if((events & FD_CONNECT)) { + int err; + if((err = WSAGETSELECTERROR(lParam))) + iosocket_events_callback(iosock, err, 0); + else + iosocket_events_callback(iosock, 0, 1); + } else + iosocket_events_callback(iosock, (events & (FD_READ | FD_ACCEPT | FD_CLOSE)) != 0, (events & FD_WRITE) != 0); return 0; case WM_QUIT: return 0;