diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2014-10-14 23:43:09 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2014-10-14 23:43:09 +0400 |
commit | 50e4b6d55770e59d6e842006b1e8d6c70a4fdc62 (patch) | |
tree | 46443a0d0c1180ef7d79274cee981d322c9f7b18 /winsup/cygwin | |
parent | 1dd75c50d5727dcd9330377053dfe673d617fead (diff) |
* fhandler_socket.cc (fhandler_socket::connect): Don't change state
on WSAEALREADY error. Change comment accordingly.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_socket.cc | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 3d5a5fe86..cf18bb19d 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,10 @@ 2014-10-14 Corinna Vinschen <corinna@vinschen.de> + * fhandler_socket.cc (fhandler_socket::connect): Don't change state + on WSAEALREADY error. Change comment accordingly. + +2014-10-14 Corinna Vinschen <corinna@vinschen.de> + * cygheap.cc (init_cygheap::init_installation_root): Install Cygwin's installation dir as DLL search path, instead of ".". * cygheap.h (class cwdstuff): Add parameter names in function diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index d27b5baaf..6a13e4d77 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -1201,8 +1201,9 @@ fhandler_socket::connect (const struct sockaddr *name, int namelen) Convert to POSIX/Linux compliant EISCONN. */ else if (err == WSAEINVAL && connect_state () == listener) WSASetLastError (WSAEISCONN); - /* Any other error means the connmect failed. */ - else if (connect_state () == connect_pending) + /* Any other error except WSAEALREADY during connect_pending means the + connect failed. */ + else if (connect_state () == connect_pending && err != WSAEALREADY) connect_state (connect_failed); set_winsock_errno (); } |