[scp.c sftp.c]
Have scp and sftp wait for the spawned ssh to exit before they exit
themselves. This prevents ssh from being unable to restore terminal
modes (not normally a problem on OpenBSD but common with -Portable
on POSIX platforms). From peak at argo.troja.mff.cuni.cz (bz#950);
ok djm@ markus@
- djm@cvs.openbsd.org 2005/01/23 10:18:12
[cipher.c]
config option "Ciphers" should be case-sensitive; ok dtucker@
+ - dtucker@cvs.openbsd.org 2005/01/24 10:22:06
+ [scp.c sftp.c]
+ Have scp and sftp wait for the spawned ssh to exit before they exit
+ themselves. This prevents ssh from being unable to restore terminal
+ modes (not normally a problem on OpenBSD but common with -Portable
+ on POSIX platforms). From peak at argo.troja.mff.cuni.cz (bz#950);
+ ok djm@ markus@
20050120
- (dtucker) OpenBSD CVS Sync
*/
#include "includes.h"
-RCSID("$OpenBSD: scp.c,v 1.118 2004/09/15 18:46:04 deraadt Exp $");
+RCSID("$OpenBSD: scp.c,v 1.119 2005/01/24 10:22:06 dtucker Exp $");
#include "xmalloc.h"
#include "atomicio.h"
static void
killchild(int signo)
{
- if (do_cmd_pid > 1)
+ if (do_cmd_pid > 1) {
kill(do_cmd_pid, signo);
+ waitpid(do_cmd_pid, NULL, 0);
+ }
_exit(1);
}
#include "includes.h"
-RCSID("$OpenBSD: sftp.c,v 1.60 2004/12/10 03:10:42 fgsch Exp $");
+RCSID("$OpenBSD: sftp.c,v 1.61 2005/01/24 10:22:06 dtucker Exp $");
#ifdef USE_LIBEDIT
#include <histedit.h>
static void
killchild(int signo)
{
- if (sshpid > 1)
+ if (sshpid > 1) {
kill(sshpid, SIGTERM);
+ waitpid(sshpid, NULL, 0);
+ }
_exit(1);
}