* fhandler_socket.cc (fhandler_socket::wait): Disable SA_RESTART

handling for now.
This commit is contained in:
Corinna Vinschen 2006-07-07 15:44:19 +00:00
parent 722031140a
commit e7b77aaecd
2 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2006-07-07 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::wait): Disable SA_RESTART
handling for now.
2006-07-07 Corinna Vinschen <corinna@vinschen.de> 2006-07-07 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (DLL_OFILES): Add inet_addr.o and inet_network.o. * Makefile.in (DLL_OFILES): Add inet_addr.o and inet_network.o.

View File

@ -970,9 +970,11 @@ fhandler_socket::wait (HANDLE event, int flags, DWORD timeout)
WSAEVENT ev[2] = { event, signal_arrived }; WSAEVENT ev[2] = { event, signal_arrived };
WSANETWORKEVENTS evts; WSANETWORKEVENTS evts;
#if 0 /* Not yet. Not this way. */
/* If WSAWaitForMultipleEvents is interrupted by a signal, and the signal /* If WSAWaitForMultipleEvents is interrupted by a signal, and the signal
has the SA_RESTART flag set, return to this label and... restart. */ has the SA_RESTART flag set, return to this label and... restart. */
sa_restart: sa_restart:
#endif
switch (WSAWaitForMultipleEvents (2, ev, FALSE, timeout, FALSE)) switch (WSAWaitForMultipleEvents (2, ev, FALSE, timeout, FALSE))
{ {
@ -1044,11 +1046,13 @@ sa_restart:
} }
break; break;
case WSA_WAIT_EVENT_0 + 1: case WSA_WAIT_EVENT_0 + 1:
#if 0 /* Not yet. Not this way. */
if (_my_tls.call_signal_handler ()) if (_my_tls.call_signal_handler ())
{ {
sig_dispatch_pending (); sig_dispatch_pending ();
goto sa_restart; goto sa_restart;
} }
#endif
WSASetLastError (WSAEINTR); WSASetLastError (WSAEINTR);
break; break;
default: default: