From 15aaadea9e4887d68b1e60d9528e8be8de5bebf2 Mon Sep 17 00:00:00 2001 From: dtucker Date: Mon, 25 Jun 2007 09:06:53 +0000 Subject: [PATCH] - (dtucker) [atomicio.c] Test for EWOULDBLOCK in atomiciov to match atomicio. --- ChangeLog | 2 ++ atomicio.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index e1028cd6..bcbdbddd 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 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); -- 2.45.1