summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/ssh-keyscan.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/ssh/ssh-keyscan.c')
-rw-r--r--usr.bin/ssh/ssh-keyscan.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.bin/ssh/ssh-keyscan.c b/usr.bin/ssh/ssh-keyscan.c
index 78dd344f458..8c6316a7fc2 100644
--- a/usr.bin/ssh/ssh-keyscan.c
+++ b/usr.bin/ssh/ssh-keyscan.c
@@ -8,7 +8,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: ssh-keyscan.c,v 1.15 2001/02/09 09:04:59 itojun Exp $");
+RCSID("$OpenBSD: ssh-keyscan.c,v 1.16 2001/02/12 22:56:10 deraadt Exp $");
#include <sys/queue.h>
#include <errno.h>
@@ -478,7 +478,10 @@ conloop(void)
seltime.tv_sec = seltime.tv_usec = 0;
r = e = read_wait;
- select(maxfd, &r, NULL, &e, &seltime);
+ while (select(maxfd, &r, NULL, &e, &seltime) == -1 &&
+ (errno == EAGAIN || errno == EINTR))
+ ;
+
for (i = 0; i < maxfd; i++)
if (FD_ISSET(i, &e)) {
error("%s: exception!", fdcon[i].c_name);