=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server-client.c,v retrieving revision 1.12 retrieving revision 1.13 diff -c -r1.12 -r1.13 *** src/usr.bin/tmux/server-client.c 2009/11/04 20:50:11 1.12 --- src/usr.bin/tmux/server-client.c 2009/11/04 21:47:42 1.13 *************** *** 1,4 **** ! /* $OpenBSD: server-client.c,v 1.12 2009/11/04 20:50:11 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: server-client.c,v 1.13 2009/11/04 21:47:42 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 136,143 **** close(c->ibuf.fd); imsg_clear(&c->ibuf); event_del(&c->event); ! event_del(&c->tty.event); ! for (i = 0; i < ARRAY_LENGTH(&dead_clients); i++) { if (ARRAY_ITEM(&dead_clients, i) == NULL) { ARRAY_SET(&dead_clients, i, c); --- 136,142 ---- close(c->ibuf.fd); imsg_clear(&c->ibuf); event_del(&c->event); ! for (i = 0; i < ARRAY_LENGTH(&dead_clients); i++) { if (ARRAY_ITEM(&dead_clients, i) == NULL) { ARRAY_SET(&dead_clients, i, c); *************** *** 172,189 **** event_set(&c->event, c->ibuf.fd, events, server_client_callback, c); event_add(&c->event, NULL); - - if (c->tty.fd == -1) - continue; - if (c->flags & CLIENT_SUSPENDED || c->session == NULL) - continue; - events = EV_READ; - if (BUFFER_USED(c->tty.out) > 0) - events |= EV_WRITE; - event_del(&c->tty.event); - event_set(&c->tty.event, - c->tty.fd, events, server_client_callback, c); - event_add(&c->tty.event, NULL); } } --- 171,176 ---- *************** *** 207,220 **** } if (events & EV_READ && server_client_msg_dispatch(c) != 0) - goto client_lost; - } - - if (c->tty.fd != -1 && fd == c->tty.fd) { - if (c->flags & CLIENT_SUSPENDED || c->session == NULL) - return; - - if (buffer_poll(fd, events, c->tty.in, c->tty.out) != 0) goto client_lost; } --- 194,199 ----