summaryrefslogtreecommitdiff
path: root/clientloop.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2001-10-12 11:35:04 +1000
committerDamien Miller <djm@mindrot.org>2001-10-12 11:35:04 +1000
commit3ec2759ad40f054c152c753db046ac55f9670d14 (patch)
tree3b26532eed14eaf485834a531a4d187cde1b1149 /clientloop.c
parent4e088e4de02b6c813b498a1270df85e8136c4499 (diff)
- (djm) OpenBSD CVS Sync
- markus@cvs.openbsd.org 2001/10/10 22:18:47 [channels.c channels.h clientloop.c nchan.c serverloop.c] [session.c session.h] 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 'clientloop.c')
-rw-r--r--clientloop.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/clientloop.c b/clientloop.c
index e6da67d5..43332d1f 100644
--- a/clientloop.c
+++ b/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();