summaryrefslogtreecommitdiff
path: root/usr.bin/ssh
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2001-03-06 01:08:28 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2001-03-06 01:08:28 +0000
commit666a089a8fc066a213ba3c6f6263d13fead6a733 (patch)
tree9a17bb760890c454d12bf24af36b5df2a75efd89 /usr.bin/ssh
parent4ee93c0bf8f6f21bc0f6ab7aa233de2d0c33afc4 (diff)
If read() fails with EINTR deal with it the same way we treat EAGAIN
Diffstat (limited to 'usr.bin/ssh')
-rw-r--r--usr.bin/ssh/clientloop.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/ssh/clientloop.c b/usr.bin/ssh/clientloop.c
index cdd32dbbebb..4805f3c8312 100644
--- a/usr.bin/ssh/clientloop.c
+++ b/usr.bin/ssh/clientloop.c
@@ -59,7 +59,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: clientloop.c,v 1.52 2001/02/28 08:45:39 markus Exp $");
+RCSID("$OpenBSD: clientloop.c,v 1.53 2001/03/06 01:08:27 millert Exp $");
#include "ssh.h"
#include "ssh1.h"
@@ -491,7 +491,7 @@ client_process_net_input(fd_set * readset)
* There is a kernel bug on Solaris that causes select to
* sometimes wake up even though there is no data available.
*/
- if (len < 0 && errno == EAGAIN)
+ if (len < 0 && (errno == EAGAIN || errno == EINTR))
len = 0;
if (len < 0) {