summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-03-06 03:34:40 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-03-06 03:34:40 +0000
commitebc882757b79ef9b97e6a109c78cb740d113adab (patch)
tree8d8147eb984ed7b5202903733a54645c99bf1760
parent884a4aca88e98b4954a061847f91cad72c87053d (diff)
- millert@cvs.openbsd.org 2001/03/06 01:08:27
[clientloop.c] If read() fails with EINTR deal with it the same way we treat EAGAIN
-rw-r--r--ChangeLog5
-rw-r--r--clientloop.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index d51361f57..ec3188bd6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -37,6 +37,9 @@
37 [ssh-keyscan.c] 37 [ssh-keyscan.c]
38 Don't assume we wil get the version string all in one read(). 38 Don't assume we wil get the version string all in one read().
39 deraadt@ OK'd 39 deraadt@ OK'd
40 - millert@cvs.openbsd.org 2001/03/06 01:08:27
41 [clientloop.c]
42 If read() fails with EINTR deal with it the same way we treat EAGAIN
40 43
4120010305 4420010305
42 - (bal) CVS ID touch up on sshpty.[ch] and sshlogin.[ch] 45 - (bal) CVS ID touch up on sshpty.[ch] and sshlogin.[ch]
@@ -4408,4 +4411,4 @@
4408 - Wrote replacements for strlcpy and mkdtemp 4411 - Wrote replacements for strlcpy and mkdtemp
4409 - Released 1.0pre1 4412 - Released 1.0pre1
4410 4413
4411$Id: ChangeLog,v 1.917 2001/03/06 03:33:04 mouring Exp $ 4414$Id: ChangeLog,v 1.918 2001/03/06 03:34:40 mouring Exp $
diff --git a/clientloop.c b/clientloop.c
index cdd32dbbe..4805f3c83 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -59,7 +59,7 @@
59 */ 59 */
60 60
61#include "includes.h" 61#include "includes.h"
62RCSID("$OpenBSD: clientloop.c,v 1.52 2001/02/28 08:45:39 markus Exp $"); 62RCSID("$OpenBSD: clientloop.c,v 1.53 2001/03/06 01:08:27 millert Exp $");
63 63
64#include "ssh.h" 64#include "ssh.h"
65#include "ssh1.h" 65#include "ssh1.h"
@@ -491,7 +491,7 @@ client_process_net_input(fd_set * readset)
491 * There is a kernel bug on Solaris that causes select to 491 * There is a kernel bug on Solaris that causes select to
492 * sometimes wake up even though there is no data available. 492 * sometimes wake up even though there is no data available.
493 */ 493 */
494 if (len < 0 && errno == EAGAIN) 494 if (len < 0 && (errno == EAGAIN || errno == EINTR))
495 len = 0; 495 len = 0;
496 496
497 if (len < 0) { 497 if (len < 0) {