summaryrefslogtreecommitdiff
path: root/network_io
diff options
context:
space:
mode:
authorBrian Havard <bjh@apache.org>1999-10-29 14:00:03 +0000
committerBrian Havard <bjh@apache.org>1999-10-29 14:00:03 +0000
commit633aeafb12818e5603d0ec7a7ee3ca302e6c3854 (patch)
treeb5c2e7ca1ec1b9729547d8df53ad29352af275b0 /network_io
parenta654b23f029253b06b4902a554c2442f8ac1acd9 (diff)
downloadapr-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.c12
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;
}