diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2000-11-07 20:01:09 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2000-11-07 20:01:09 +0000 |
commit | 4c25744f8646215a655604ad1a9413db59d15de5 (patch) | |
tree | 2e40e54ba37b6df6a3d79bced56582c6c7cd33b2 /winsup/cygwin/net.cc | |
parent | 64ef9db779e3909490ece705c3b16e4a7319c59a (diff) | |
download | cygnal-4c25744f8646215a655604ad1a9413db59d15de5.tar.gz cygnal-4c25744f8646215a655604ad1a9413db59d15de5.tar.bz2 cygnal-4c25744f8646215a655604ad1a9413db59d15de5.zip |
* autoload.cc: Add autoload statement for `WSASetLastError'.
* net.cc (cygwin_connect): Change error code to WSAEINPROGRESS
when connect returns WSAEWOULDBLOCK.
Diffstat (limited to 'winsup/cygwin/net.cc')
-rw-r--r-- | winsup/cygwin/net.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc index 9f0816bad..31c40296a 100644 --- a/winsup/cygwin/net.cc +++ b/winsup/cygwin/net.cc @@ -600,7 +600,14 @@ cygwin_connect (int fd, { res = connect (sock->get_socket (), (sockaddr *) &sin, namelen); if (res) - set_winsock_errno (); + { + /* Special handling for connect to return the correct error code + when called to early on a non-blocking socket. */ + if (WSAGetLastError () == WSAEWOULDBLOCK) + WSASetLastError (WSAEINPROGRESS); + + set_winsock_errno (); + } } return res; } |