diff options
author | Darren Tucker <dtucker@zip.com.au> | 2012-09-06 21:19:05 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2012-09-06 21:19:05 +1000 |
commit | 66cb0e0733782c2f6773abd9fd1d87f5efef6c27 (patch) | |
tree | 88b17abef9f6bb7276066ea811fe0acbe09ec7d7 /clientloop.c | |
parent | 3ee50c5d9f95cd40df403cf1a91fdaffefa21cc5 (diff) |
- dtucker@cvs.openbsd.org 2012/08/17 00:45:45
[clientloop.c clientloop.h mux.c]
Force a clean shutdown of ControlMaster client sessions when the ~. escape
sequence is used. This means that ~. should now work in mux clients even
if the server is no longer responding. Found by tedu, ok djm.
Diffstat (limited to 'clientloop.c')
-rw-r--r-- | clientloop.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clientloop.c b/clientloop.c index 1c1a77088..65664cbcd 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: clientloop.c,v 1.240 2012/06/20 04:42:58 djm Exp $ */ | 1 | /* $OpenBSD: clientloop.c,v 1.241 2012/08/17 00:45:45 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -1046,6 +1046,8 @@ process_escapes(Channel *c, Buffer *bin, Buffer *bout, Buffer *berr, | |||
1046 | if (c && c->ctl_chan != -1) { | 1046 | if (c && c->ctl_chan != -1) { |
1047 | chan_read_failed(c); | 1047 | chan_read_failed(c); |
1048 | chan_write_failed(c); | 1048 | chan_write_failed(c); |
1049 | mux_master_session_cleanup_cb(c->self, | ||
1050 | NULL); | ||
1049 | return 0; | 1051 | return 0; |
1050 | } else | 1052 | } else |
1051 | quit_pending = 1; | 1053 | quit_pending = 1; |