=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server-client.c,v retrieving revision 1.38 retrieving revision 1.39 diff -c -r1.38 -r1.39 *** src/usr.bin/tmux/server-client.c 2010/08/11 07:34:43 1.38 --- src/usr.bin/tmux/server-client.c 2010/08/19 17:20:26 1.39 *************** *** 1,4 **** ! /* $OpenBSD: server-client.c,v 1.38 2010/08/11 07:34:43 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: server-client.c,v 1.39 2010/08/19 17:20:26 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 696,712 **** fatalx("MSG_IDENTIFY missing fd"); memcpy(&identifydata, imsg.data, sizeof identifydata); ! c->stdin_fd = dup(imsg.fd); ! if (c->stdin_fd == -1) ! fatal("dup failed"); c->stdin_event = bufferevent_new(c->stdin_fd, NULL, NULL, server_client_in_callback, c); if (c->stdin_event == NULL) fatalx("failed to create stdin event"); ! if ((mode = fcntl(imsg.fd, F_GETFL)) != -1) ! fcntl(imsg.fd, F_SETFL, mode|O_NONBLOCK); ! if (fcntl(imsg.fd, F_SETFD, FD_CLOEXEC) == -1) fatal("fcntl failed"); server_client_msg_identify(c, &identifydata, imsg.fd); --- 696,710 ---- fatalx("MSG_IDENTIFY missing fd"); memcpy(&identifydata, imsg.data, sizeof identifydata); ! c->stdin_fd = imsg.fd; c->stdin_event = bufferevent_new(c->stdin_fd, NULL, NULL, server_client_in_callback, c); if (c->stdin_event == NULL) fatalx("failed to create stdin event"); ! if ((mode = fcntl(c->stdin_fd, F_GETFL)) != -1) ! fcntl(c->stdin_fd, F_SETFL, mode|O_NONBLOCK); ! if (fcntl(c->stdin_fd, F_SETFD, FD_CLOEXEC) == -1) fatal("fcntl failed"); server_client_msg_identify(c, &identifydata, imsg.fd);