diff options
author | 2001-10-10 22:18:47 +0000 | |
---|---|---|
committer | 2001-10-10 22:18:47 +0000 | |
commit | 76bbdeac8eaecc2bde9c0fbfbf5a422dd38ab601 (patch) | |
tree | a41c1119225acb6131dbdf023606ee1230691894 /usr.bin/ssh/clientloop.c | |
parent | Mention the X11 sets, with a note that there is no X server available for (diff) | |
download | wireguard-openbsd-76bbdeac8eaecc2bde9c0fbfbf5a422dd38ab601.tar.xz wireguard-openbsd-76bbdeac8eaecc2bde9c0fbfbf5a422dd38ab601.zip |
try to keep channels open until an exit-status message is sent.
don't kill the login shells if the shells stdin/out/err is closed.
this should now work:
ssh -2n localhost 'exec > /dev/null 2>&1; sleep 10; exit 5'; echo ?
Diffstat (limited to 'usr.bin/ssh/clientloop.c')
-rw-r--r-- | usr.bin/ssh/clientloop.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.bin/ssh/clientloop.c b/usr.bin/ssh/clientloop.c index e6da67d51a0..43332d1f4a1 100644 --- a/usr.bin/ssh/clientloop.c +++ b/usr.bin/ssh/clientloop.c @@ -59,7 +59,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: clientloop.c,v 1.82 2001/09/17 20:52:47 markus Exp $"); +RCSID("$OpenBSD: clientloop.c,v 1.83 2001/10/10 22:18:47 markus Exp $"); #include "ssh.h" #include "ssh1.h" @@ -753,6 +753,7 @@ client_channel_closed(int id, void *arg) if (id != session_ident) error("client_channel_closed: id %d != session_ident %d", id, session_ident); + channel_cancel_cleanup(id); session_closed = 1; if (in_raw_mode()) leave_raw_mode(); |