diff options
author | Damien Miller <djm@cvs.openbsd.org> | 2004-06-18 10:40:20 +0000 |
---|---|---|
committer | Damien Miller <djm@cvs.openbsd.org> | 2004-06-18 10:40:20 +0000 |
commit | 78293bd3bcf2e2dbcb1ad7c084d9bd9aecc7e1a6 (patch) | |
tree | 246a8053046c18af74971b39bfc673302c2fe794 /usr.bin/ssh | |
parent | 787042cf647753b8fbaf8e5a3958248ef4f45d5b (diff) |
delay signal handler setup until we have finished talking to the master.
allow interrupting of setup (e.g. if master is stuck); ok markus@
Diffstat (limited to 'usr.bin/ssh')
-rw-r--r-- | usr.bin/ssh/ssh.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/usr.bin/ssh/ssh.c b/usr.bin/ssh/ssh.c index 28fb4ca60b4..9124dff0248 100644 --- a/usr.bin/ssh/ssh.c +++ b/usr.bin/ssh/ssh.c @@ -40,7 +40,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh.c,v 1.217 2004/06/17 23:56:57 djm Exp $"); +RCSID("$OpenBSD: ssh.c,v 1.218 2004/06/18 10:40:19 djm Exp $"); #include <openssl/evp.h> #include <openssl/err.h> @@ -1240,10 +1240,6 @@ control_client(const char *path) if ((cp = getenv("TERM")) == NULL) cp = ""; - signal(SIGINT, control_client_sighandler); - signal(SIGTERM, control_client_sighandler); - signal(SIGWINCH, control_client_sigrelay); - buffer_init(&m); /* Get PID of controlee */ @@ -1286,6 +1282,10 @@ control_client(const char *path) fatal("%s: master returned error", __func__); buffer_free(&m); + signal(SIGINT, control_client_sighandler); + signal(SIGTERM, control_client_sighandler); + signal(SIGWINCH, control_client_sigrelay); + if (tty_flag) enter_raw_mode(); |