From b8d45dbd097e8a37d21d4c8d6b1fa4ff7c1a04c5 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Thu, 14 Jun 2007 20:06:25 +0000 Subject: [PATCH] DEVEL15-rx-lwp-sendmsg-20070614 update the lwp version of rxi_sendmsg to return the same error, -1, returned by the pthread version. replace errno with WSAGetLastError() in the Windows blocks so that the correct error value is checked. (cherry picked from commit 46a931d020da24dd534e1064ea9fbe693acbdf65) --- src/rx/rx_lwp.c | 6 +++--- src/rx/rx_packet.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rx/rx_lwp.c b/src/rx/rx_lwp.c index f9779fdd9b..86780dec7c 100644 --- a/src/rx/rx_lwp.c +++ b/src/rx/rx_lwp.c @@ -445,12 +445,12 @@ rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags) if (!(sfds = IOMGR_AllocFDSet())) { (osi_Msg "rx failed to alloc fd_set: "); perror("rx_sendmsg"); - return 3; + return -1; } FD_SET(socket, sfds); } #ifdef AFS_NT40_ENV - if (errno) + if (WSAGetLastError()) #elif defined(AFS_LINUX22_ENV) /* linux unfortunately returns ECONNREFUSED if the target port * is no longer in use */ @@ -463,7 +463,7 @@ rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags) { (osi_Msg "rx failed to send packet: "); perror("rx_sendmsg"); - return 3; + return -1; } while ((err = select(socket + 1, 0, sfds, 0, 0)) != 1) { if (err >= 0 || errno != EINTR) diff --git a/src/rx/rx_packet.c b/src/rx/rx_packet.c index 2cc8a759e7..483a82dc89 100644 --- a/src/rx/rx_packet.c +++ b/src/rx/rx_packet.c @@ -2233,7 +2233,7 @@ rxi_SendPacket(struct rx_call *call, struct rx_connection *conn, * code. So, when this happens let's "down" the host NOW so * we don't sit around waiting for this host to timeout later. */ - if (call && code == -1 && errno == WSAEHOSTUNREACH) + if (call && code == -1 && WSAGetLastError() == WSAEHOSTUNREACH) call->lastReceiveTime = 0; #endif #if defined(KERNEL) && defined(AFS_LINUX20_ENV)