summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2007-06-25 19:06:53 +1000
committerDarren Tucker <dtucker@zip.com.au>2007-06-25 19:06:53 +1000
commit9e223240ac65e5662bf4d48945198fba80e9f886 (patch)
treebc1e3211408a536908ccf9df81bd7044ecc286b5
parentae09cb8a7123416217e88a42c2c0ad04230d5314 (diff)
- (dtucker) [atomicio.c] Test for EWOULDBLOCK in atomiciov to match
atomicio.
-rw-r--r--ChangeLog4
-rw-r--r--atomicio.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 43d5e365b..9deb7bde2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -20,6 +20,8 @@
20 [channels.c] 20 [channels.c]
21 Correct test for window updates every three packets; prevents sending 21 Correct test for window updates every three packets; prevents sending
22 window updates for every single packet. ok markus@ 22 window updates for every single packet. ok markus@
23 - (dtucker) [atomicio.c] Test for EWOULDBLOCK in atomiciov to match
24 atomicio.
23 25
2420070614 2620070614
25 - (dtucker) [cipher-ctr.c umac.c openbsd-compat/openssl-compat.h] Move the 27 - (dtucker) [cipher-ctr.c umac.c openbsd-compat/openssl-compat.h] Move the
@@ -3095,4 +3097,4 @@
3095 OpenServer 6 and add osr5bigcrypt support so when someone migrates 3097 OpenServer 6 and add osr5bigcrypt support so when someone migrates
3096 passwords between UnixWare and OpenServer they will still work. OK dtucker@ 3098 passwords between UnixWare and OpenServer they will still work. OK dtucker@
3097 3099
3098$Id: ChangeLog,v 1.4707 2007/06/25 09:04:46 dtucker Exp $ 3100$Id: ChangeLog,v 1.4708 2007/06/25 09:06:53 dtucker Exp $
diff --git a/atomicio.c b/atomicio.c
index 253139e99..79dba9f29 100644
--- a/atomicio.c
+++ b/atomicio.c
@@ -101,7 +101,11 @@ atomiciov(ssize_t (*f) (int, const struct iovec *, int), int fd,
101 res = (f) (fd, iov, iovcnt); 101 res = (f) (fd, iov, iovcnt);
102 switch (res) { 102 switch (res) {
103 case -1: 103 case -1:
104#ifdef EWOULDBLOCK
105 if (errno == EINTR || errno == EWOULDBLOCK)
106#else
104 if (errno == EINTR) 107 if (errno == EINTR)
108#endif
105 continue; 109 continue;
106 if (errno == EAGAIN) { 110 if (errno == EAGAIN) {
107 (void)poll(&pfd, 1, -1); 111 (void)poll(&pfd, 1, -1);