From 9f64fd80819b80513fadfe842622cf6d3853c1c0 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sat, 11 Oct 2014 10:50:36 +0000 Subject: * fhandler_socket.cc (fhandler_socket::evaluate_events): Slightly rearrange code. Rephrase a comment. --- winsup/cygwin/fhandler_socket.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/fhandler_socket.cc') diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index 0354ee246..93cfddf6a 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -634,15 +634,15 @@ fhandler_socket::evaluate_events (const long event_mask, long &events, { if (events & FD_CONNECT) { - int wsa_err = 0; - if ((wsa_err = wsock_events->connect_errorcode) != 0) + int wsa_err = wsock_events->connect_errorcode; + if (wsa_err) { /* CV 2014-04-23: This is really weird. If you call connect asynchronously on a socket and then select, an error like "Connection refused" is set in the event and in the SO_ERROR socket option. If you call connect, then dup, then select, the error is set in the event, but not in the SO_ERROR socket - option, even if the dup'ed socket handle refers to the same + option, despite the dup'ed socket handle referring to the same socket. We're trying to workaround this problem here by taking the connect errorcode from the event and write it back into the SO_ERROR socket option. -- cgit v1.2.3