From 9e223240ac65e5662bf4d48945198fba80e9f886 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 25 Jun 2007 19:06:53 +1000 Subject: - (dtucker) [atomicio.c] Test for EWOULDBLOCK in atomiciov to match atomicio. --- ChangeLog | 4 +++- atomicio.c | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 43d5e365..9deb7bde 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,6 +20,8 @@ [channels.c] Correct test for window updates every three packets; prevents sending window updates for every single packet. ok markus@ + - (dtucker) [atomicio.c] Test for EWOULDBLOCK in atomiciov to match + atomicio. 20070614 - (dtucker) [cipher-ctr.c umac.c openbsd-compat/openssl-compat.h] Move the @@ -3095,4 +3097,4 @@ OpenServer 6 and add osr5bigcrypt support so when someone migrates passwords between UnixWare and OpenServer they will still work. OK dtucker@ -$Id: ChangeLog,v 1.4707 2007/06/25 09:04:46 dtucker Exp $ +$Id: ChangeLog,v 1.4708 2007/06/25 09:06:53 dtucker Exp $ diff --git a/atomicio.c b/atomicio.c index 253139e9..79dba9f2 100644 --- a/atomicio.c +++ b/atomicio.c @@ -101,7 +101,11 @@ atomiciov(ssize_t (*f) (int, const struct iovec *, int), int fd, res = (f) (fd, iov, iovcnt); switch (res) { case -1: +#ifdef EWOULDBLOCK + if (errno == EINTR || errno == EWOULDBLOCK) +#else if (errno == EINTR) +#endif continue; if (errno == EAGAIN) { (void)poll(&pfd, 1, -1); -- cgit v1.2.3