summaryrefslogtreecommitdiff
path: root/atomicio.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2008-07-04 23:10:49 +1000
committerDamien Miller <djm@mindrot.org>2008-07-04 23:10:49 +1000
commitd8968adb5faef58508bb5e7dab7cdbaf5b0e90d5 (patch)
tree33357b9d71f2d3e72b8383e2b3771773914425f4 /atomicio.c
parentb01bac109bd2fc6b3093fe4aeb31a125be8f2a4e (diff)
- (djm) [atomicio.c channels.c clientloop.c defines.h includes.h]
[packet.c scp.c serverloop.c sftp-client.c ssh-agent.c ssh-keyscan.c] [sshd.c] Explicitly handle EWOULDBLOCK wherever we handle EAGAIN, on some platforms (HP nonstop) it is a distinct errno; bz#1467 reported by sconeu AT yahoo.com; ok dtucker@
Diffstat (limited to 'atomicio.c')
-rw-r--r--atomicio.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/atomicio.c b/atomicio.c
index 575bf8900..bb44c3230 100644
--- a/atomicio.c
+++ b/atomicio.c
@@ -63,11 +63,7 @@ atomicio(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n)
63 case -1: 63 case -1:
64 if (errno == EINTR) 64 if (errno == EINTR)
65 continue; 65 continue;
66#ifdef EWOULDBLOCK
67 if (errno == EAGAIN || errno == EWOULDBLOCK) { 66 if (errno == EAGAIN || errno == EWOULDBLOCK) {
68#else
69 if (errno == EAGAIN) {
70#endif
71 (void)poll(&pfd, 1, -1); 67 (void)poll(&pfd, 1, -1);
72 continue; 68 continue;
73 } 69 }
@@ -109,11 +105,7 @@ atomiciov(ssize_t (*f) (int, const struct iovec *, int), int fd,
109 case -1: 105 case -1:
110 if (errno == EINTR) 106 if (errno == EINTR)
111 continue; 107 continue;
112#ifdef EWOULDBLOCK
113 if (errno == EAGAIN || errno == EWOULDBLOCK) { 108 if (errno == EAGAIN || errno == EWOULDBLOCK) {
114#else
115 if (errno == EAGAIN) {
116#endif
117 (void)poll(&pfd, 1, -1); 109 (void)poll(&pfd, 1, -1);
118 continue; 110 continue;
119 } 111 }