diff options
author | Brian Havard <bjh@apache.org> | 1999-10-29 14:00:03 +0000 |
---|---|---|
committer | Brian Havard <bjh@apache.org> | 1999-10-29 14:00:03 +0000 |
commit | 633aeafb12818e5603d0ec7a7ee3ca302e6c3854 (patch) | |
tree | b5c2e7ca1ec1b9729547d8df53ad29352af275b0 /network_io | |
parent | a654b23f029253b06b4902a554c2442f8ac1acd9 (diff) | |
download | apr-633aeafb12818e5603d0ec7a7ee3ca302e6c3854.tar.gz |
OS/2: Return error status when something goes wrong in ap_send()/ap_recv().
This will probably be needed on other platforms as well.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59423 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io')
-rw-r--r-- | network_io/os2/sendrecv.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/network_io/os2/sendrecv.c b/network_io/os2/sendrecv.c index dba119d20..ecc4f4d0f 100644 --- a/network_io/os2/sendrecv.c +++ b/network_io/os2/sendrecv.c @@ -93,6 +93,12 @@ ap_status_t ap_send(struct socket_t *sock, const char *buf, ap_ssize_t *len) } while (rv == -1 && errno == EINTR); } } + + if (rv < 0) { + *len = 0; + return errno; + } + (*len) = rv; return APR_SUCCESS; } @@ -130,6 +136,12 @@ ap_status_t ap_recv(struct socket_t *sock, char *buf, ap_ssize_t *len) } while (rv == -1 && errno == EINTR); } } + + if (rv < 0) { + *len = 0; + return errno; + } + (*len) = rv; return APR_SUCCESS; } |