summaryrefslogtreecommitdiff
path: root/clientloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'clientloop.c')
-rw-r--r--clientloop.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/clientloop.c b/clientloop.c
index e892c1abd..547ccabfe 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.49 2001/02/08 19:30:51 itojun Exp $"); 62RCSID("$OpenBSD: clientloop.c,v 1.51 2001/02/13 21:51:09 markus Exp $");
63 63
64#include "ssh.h" 64#include "ssh.h"
65#include "ssh1.h" 65#include "ssh1.h"
@@ -406,6 +406,15 @@ client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp,
406 406
407 if (select((*maxfdp)+1, *readsetp, *writesetp, NULL, NULL) < 0) { 407 if (select((*maxfdp)+1, *readsetp, *writesetp, NULL, NULL) < 0) {
408 char buf[100]; 408 char buf[100];
409
410 /*
411 * We have to clear the select masks, because we return.
412 * We have to return, because the mainloop checks for the flags
413 * set by the signal handlers.
414 */
415 memset(*readsetp, 0, *maxfdp);
416 memset(*writesetp, 0, *maxfdp);
417
409 if (errno == EINTR) 418 if (errno == EINTR)
410 return; 419 return;
411 /* Note: we might still have data in the buffers. */ 420 /* Note: we might still have data in the buffers. */