=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-attach-session.c,v retrieving revision 1.42 retrieving revision 1.43 diff -c -r1.42 -r1.43 *** src/usr.bin/tmux/cmd-attach-session.c 2015/09/16 22:29:30 1.42 --- src/usr.bin/tmux/cmd-attach-session.c 2015/10/27 13:23:24 1.43 *************** *** 1,4 **** ! /* $OpenBSD: cmd-attach-session.c,v 1.42 2015/09/16 22:29:30 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-attach-session.c,v 1.43 2015/10/27 13:23:24 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 113,128 **** if (c->session != NULL) { if (dflag) { - /* - * Can't use server_write_session in case attaching to - * the same session as currently attached to. - */ TAILQ_FOREACH(c_loop, &clients, entry) { if (c_loop->session != s || c == c_loop) continue; ! server_write_client(c, MSG_DETACH, ! c_loop->session->name, ! strlen(c_loop->session->name) + 1); } } --- 113,122 ---- if (c->session != NULL) { if (dflag) { TAILQ_FOREACH(c_loop, &clients, entry) { if (c_loop->session != s || c == c_loop) continue; ! proc_send_s(c->peer, MSG_DETACH, s->name); } } *************** *** 150,157 **** c->flags |= CLIENT_READONLY; if (dflag) { ! server_write_session(s, MSG_DETACH, s->name, ! strlen(s->name) + 1); } if (!Eflag) { --- 144,154 ---- c->flags |= CLIENT_READONLY; if (dflag) { ! TAILQ_FOREACH(c_loop, &clients, entry) { ! if (c_loop->session != s || c == c_loop) ! continue; ! proc_send_s(c->peer, MSG_DETACH, s->name); ! } } if (!Eflag) { *************** *** 168,174 **** server_redraw_client(c); s->curw->flags &= ~WINLINK_ALERTFLAGS; ! server_write_ready(c); cmdq->client_exit = 0; } recalculate_sizes(); --- 165,172 ---- server_redraw_client(c); s->curw->flags &= ~WINLINK_ALERTFLAGS; ! if (~c->flags & CLIENT_CONTROL) ! proc_send(c->peer, MSG_READY, -1, NULL, 0); cmdq->client_exit = 0; } recalculate_sizes();