diff options
author | Ben Lindstrom <mouring@eviladmin.org> | 2002-04-02 20:48:19 +0000 |
---|---|---|
committer | Ben Lindstrom <mouring@eviladmin.org> | 2002-04-02 20:48:19 +0000 |
commit | 47fd8112b5ad0e83d895e5be9342b70832ea3075 (patch) | |
tree | 8a72a7bd0295430d833bd1b6469dfabd5616dc6a /sftp.c | |
parent | 03f3932829d5246d41c26b3d9f9482c618356430 (diff) |
- markus@cvs.openbsd.org 2002/03/30 18:51:15
[monitor.c serverloop.c sftp-int.c sftp.c sshd.c]
check waitpid for EINTR; based on patch from peter@ifm.liu.se
Diffstat (limited to 'sftp.c')
-rw-r--r-- | sftp.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | 26 | ||
27 | RCSID("$OpenBSD: sftp.c,v 1.27 2002/03/19 10:49:35 markus Exp $"); | 27 | RCSID("$OpenBSD: sftp.c,v 1.28 2002/03/30 18:51:15 markus Exp $"); |
28 | 28 | ||
29 | /* XXX: short-form remote directory listings (like 'ls -C') */ | 29 | /* XXX: short-form remote directory listings (like 'ls -C') */ |
30 | 30 | ||
@@ -246,8 +246,10 @@ main(int argc, char **argv) | |||
246 | if (infile != stdin) | 246 | if (infile != stdin) |
247 | fclose(infile); | 247 | fclose(infile); |
248 | 248 | ||
249 | if (waitpid(sshpid, NULL, 0) == -1) | 249 | while (waitpid(sshpid, NULL, 0) == -1) |
250 | fatal("Couldn't wait for ssh process: %s", strerror(errno)); | 250 | if (errno != EINTR) |
251 | fatal("Couldn't wait for ssh process: %s", | ||
252 | strerror(errno)); | ||
251 | 253 | ||
252 | exit(0); | 254 | exit(0); |
253 | } | 255 | } |