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