diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | mux.c | 6 |
2 files changed, 8 insertions, 3 deletions
@@ -5,6 +5,11 @@ | |||
5 | bz#1740: display a more helpful error message when $HOME is | 5 | bz#1740: display a more helpful error message when $HOME is |
6 | inaccessible while trying to create .ssh directory. Based on patch | 6 | inaccessible while trying to create .ssh directory. Based on patch |
7 | from jchadima AT redhat.com; ok dtucker@ | 7 | from jchadima AT redhat.com; ok dtucker@ |
8 | - djm@cvs.openbsd.org 2010/04/23 22:27:38 | ||
9 | [mux.c] | ||
10 | set "detach_close" flag when registering channel cleanup callbacks. | ||
11 | This causes the channel to close normally when its fds close and | ||
12 | hangs when terminating a mux slave using ~. bz#1758; ok markus@ | ||
8 | 13 | ||
9 | 20100423 | 14 | 20100423 |
10 | - (dtucker) [configure.ac] Bug #1756: Check for the existence of a lib64 dir | 15 | - (dtucker) [configure.ac] Bug #1756: Check for the existence of a lib64 dir |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: mux.c,v 1.15 2010/04/10 05:48:16 djm Exp $ */ | 1 | /* $OpenBSD: mux.c,v 1.16 2010/04/23 22:27:38 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> |
4 | * | 4 | * |
@@ -454,7 +454,7 @@ process_mux_new_session(u_int rid, Channel *c, Buffer *m, Buffer *r) | |||
454 | 454 | ||
455 | channel_send_open(nc->self); | 455 | channel_send_open(nc->self); |
456 | channel_register_open_confirm(nc->self, mux_session_confirm, cctx); | 456 | channel_register_open_confirm(nc->self, mux_session_confirm, cctx); |
457 | channel_register_cleanup(nc->self, mux_master_session_cleanup_cb, 0); | 457 | channel_register_cleanup(nc->self, mux_master_session_cleanup_cb, 1); |
458 | 458 | ||
459 | /* prepare reply */ | 459 | /* prepare reply */ |
460 | /* XXX defer until mux_session_confirm() fires */ | 460 | /* XXX defer until mux_session_confirm() fires */ |
@@ -826,7 +826,7 @@ process_mux_stdio_fwd(u_int rid, Channel *c, Buffer *m, Buffer *r) | |||
826 | debug2("%s: channel_new: %d linked to control channel %d", | 826 | debug2("%s: channel_new: %d linked to control channel %d", |
827 | __func__, nc->self, nc->ctl_chan); | 827 | __func__, nc->self, nc->ctl_chan); |
828 | 828 | ||
829 | channel_register_cleanup(nc->self, mux_master_session_cleanup_cb, 0); | 829 | channel_register_cleanup(nc->self, mux_master_session_cleanup_cb, 1); |
830 | 830 | ||
831 | /* prepare reply */ | 831 | /* prepare reply */ |
832 | /* XXX defer until channel confirmed */ | 832 | /* XXX defer until channel confirmed */ |