diff options
author | Christopher Faylor <me@cgf.cx> | 2012-06-19 00:38:02 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-06-19 00:38:02 +0000 |
commit | 2addde8cb1e794a9818b9417839524dbc05401da (patch) | |
tree | 389e9271ffc3ea88d97116b52fa8e838889ab12f /winsup/cygwin/fhandler_socket.cc | |
parent | af5cd145835d35519af02d0d226f67eb777e4945 (diff) | |
download | cygnal-2addde8cb1e794a9818b9417839524dbc05401da.tar.gz cygnal-2addde8cb1e794a9818b9417839524dbc05401da.tar.bz2 cygnal-2addde8cb1e794a9818b9417839524dbc05401da.zip |
Revert errneous checkin.
Check in actual change associated with ChangeLog.
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r-- | winsup/cygwin/fhandler_socket.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index 611e70619..f78002801 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -130,7 +130,7 @@ get_inet_addr (const struct sockaddr *in, int inlen, pthread_testcancel (); /* Using IsEventSignalled like this is racy since another thread could be waiting for signal_arrived. */ - if (cancelable_wait (NULL, cw_nowait, cw_sig_eintr) == WAIT_SIGNALED + if (IsEventSignalled (signal_arrived) && !_my_tls.call_signal_handler ()) { set_errno (EINTR); @@ -662,8 +662,7 @@ fhandler_socket::wait_for_events (const long event_mask, const DWORD flags) return SOCKET_ERROR; } - WSAEVENT ev[2] = { wsock_evt }; - set_thread_waiting (ev[1]); + WSAEVENT ev[2] = { wsock_evt, signal_arrived }; switch (WSAWaitForMultipleEvents (2, ev, FALSE, 50, FALSE)) { case WSA_WAIT_TIMEOUT: @@ -1785,7 +1784,7 @@ fhandler_socket::close () res = -1; break; } - if (cygwait (10) == WAIT_SIGNALED) + if (WaitForSingleObject (signal_arrived, 10) == WAIT_OBJECT_0) { set_errno (EINTR); res = -1; |