diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2004-03-31 15:33:33 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2004-03-31 15:33:33 +0000 |
commit | 455bbeae3882e2469c379f47419b41bf626e6e7c (patch) | |
tree | eaeebf6cc8e53a1728a68c5b11577ef27d55519a /winsup/cygwin/fhandler_socket.cc | |
parent | decd3e5d72bb72dc93ea314583f5c25e18c8ff1d (diff) | |
download | cygnal-455bbeae3882e2469c379f47419b41bf626e6e7c.tar.gz cygnal-455bbeae3882e2469c379f47419b41bf626e6e7c.tar.bz2 cygnal-455bbeae3882e2469c379f47419b41bf626e6e7c.zip |
* fhandler_socket.cc (fhandler_socket::recvfrom): Always initialize
ret to 0 when using in Winsock call.
(fhandler_socket::recvmsg): Ditto.
(fhandler_socket::sendto): Ditto.
(fhandler_socket::sendmsg): Ditto.
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r-- | winsup/cygwin/fhandler_socket.cc | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index a410e15ac..952b87b82 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -727,8 +727,8 @@ fhandler_socket::recvfrom (void *ptr, size_t len, int flags, WSABUF wsabuf = { len, (char *) ptr }; if (is_nonblocking () || has_been_closed) - res = WSARecvFrom (get_socket (), &wsabuf, 1, &ret, (DWORD *) &flags, - from, fromlen, NULL, NULL); + res = WSARecvFrom (get_socket (), &wsabuf, 1, (ret = 0, &ret), + (DWORD *) &flags, from, fromlen, NULL, NULL); else { wsock_event wsock_evt; @@ -738,9 +738,9 @@ fhandler_socket::recvfrom (void *ptr, size_t len, int flags, do { if (!(res = wsock_evt.wait (get_socket (), has_been_closed))) - res = WSARecvFrom (get_socket (), &wsabuf, 1, &ret, - (DWORD *) &flags, from, fromlen, - NULL, NULL); + res = WSARecvFrom (get_socket (), &wsabuf, 1, + (ret = 0, &ret), (DWORD *) &flags, + from, fromlen, NULL, NULL); } while (res == SOCKET_ERROR && WSAGetLastError () == WSAEWOULDBLOCK @@ -853,9 +853,8 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags, ssize_t tot) if (is_nonblocking () || has_been_closed) res = WSARecvFrom (get_socket (), - wsabuf, iovcnt, &ret, (DWORD *) &flags, - from, fromlen, - NULL, NULL); + wsabuf, iovcnt, (ret = 0, &ret), (DWORD *) &flags, + from, fromlen, NULL, NULL); else { wsock_event wsock_evt; @@ -865,9 +864,9 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags, ssize_t tot) do { if (!(res = wsock_evt.wait (get_socket (), has_been_closed))) - res = WSARecvFrom (get_socket (), wsabuf, iovcnt, &ret, - (DWORD *) &flags, from, fromlen, - NULL, NULL); + res = WSARecvFrom (get_socket (), wsabuf, iovcnt, + (ret = 0, &ret), (DWORD *) &flags, + from, fromlen, NULL, NULL); } while (res == SOCKET_ERROR && WSAGetLastError () == WSAEWOULDBLOCK @@ -930,7 +929,7 @@ fhandler_socket::sendto (const void *ptr, size_t len, int flags, WSABUF wsabuf = { len, (char *) ptr }; if (is_nonblocking () || has_been_closed) - res = WSASendTo (get_socket (), &wsabuf, 1, &ret, + res = WSASendTo (get_socket (), &wsabuf, 1, (ret = 0, &ret), flags & MSG_WINMASK, (to ? (const struct sockaddr *) &sin : NULL), tolen, NULL, NULL); @@ -941,7 +940,7 @@ fhandler_socket::sendto (const void *ptr, size_t len, int flags, { do { - res = WSASendTo (get_socket (), &wsabuf, 1, &ret, + res = WSASendTo (get_socket (), &wsabuf, 1, (ret = 0, &ret), flags & MSG_WINMASK, (to ? (const struct sockaddr *) &sin : NULL), tolen, NULL, NULL); @@ -1066,10 +1065,9 @@ fhandler_socket::sendmsg (const struct msghdr *msg, int flags, ssize_t tot) DWORD ret; if (is_nonblocking () || has_been_closed) - res = WSASendTo (get_socket (), wsabuf, iovcnt, &ret, flags, - (struct sockaddr *) msg->msg_name, - msg->msg_namelen, - NULL, NULL); + res = WSASendTo (get_socket (), wsabuf, iovcnt, (ret = 0, &ret), + flags, (struct sockaddr *) msg->msg_name, + msg->msg_namelen, NULL, NULL); else { wsock_event wsock_evt; @@ -1077,8 +1075,9 @@ fhandler_socket::sendmsg (const struct msghdr *msg, int flags, ssize_t tot) { do { - res = WSASendTo (get_socket (), wsabuf, iovcnt, &ret, - flags, (struct sockaddr *) msg->msg_name, + res = WSASendTo (get_socket (), wsabuf, iovcnt, + (ret = 0, &ret), flags, + (struct sockaddr *) msg->msg_name, msg->msg_namelen, NULL, NULL); if (res != SOCKET_ERROR || WSAGetLastError () != WSAEWOULDBLOCK) |