summaryrefslogtreecommitdiff
path: root/scp.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 /scp.c
parentb01bac109bd2fc6b3093fe4aeb31a125be8f2a4e (diff)
downloadopenssh-git-d8968adb5faef58508bb5e7dab7cdbaf5b0e90d5.tar.gz
- (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 'scp.c')
-rw-r--r--scp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/scp.c b/scp.c
index 46433a63..9f8b7a19 100644
--- a/scp.c
+++ b/scp.c
@@ -474,7 +474,7 @@ scpio(ssize_t (*f)(int, void *, size_t), int fd, void *_p, size_t l, off_t *c)
if (r < 0) {
if (errno == EINTR)
continue;
- if (errno == EAGAIN) {
+ if (errno == EAGAIN || errno == EWOULDBLOCK) {
(void)poll(&pfd, 1, -1); /* Ignore errors */
continue;
}