summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/clientloop.c
diff options
context:
space:
mode:
authormarkus <markus@openbsd.org>2001-10-10 22:18:47 +0000
committermarkus <markus@openbsd.org>2001-10-10 22:18:47 +0000
commit76bbdeac8eaecc2bde9c0fbfbf5a422dd38ab601 (patch)
treea41c1119225acb6131dbdf023606ee1230691894 /usr.bin/ssh/clientloop.c
parentMention the X11 sets, with a note that there is no X server available for (diff)
downloadwireguard-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.c3
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();