=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/Attic/buffer-poll.c,v retrieving revision 1.4 retrieving revision 1.5 diff -c -r1.4 -r1.5 *** src/usr.bin/tmux/Attic/buffer-poll.c 2009/10/22 19:41:51 1.4 --- src/usr.bin/tmux/Attic/buffer-poll.c 2009/11/04 20:50:11 1.5 *************** *** 1,4 **** ! /* $OpenBSD: buffer-poll.c,v 1.4 2009/10/22 19:41:51 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: buffer-poll.c,v 1.5 2009/11/04 20:50:11 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 19,24 **** --- 19,25 ---- #include #include + #include #include #include "tmux.h" *************** *** 29,37 **** { ssize_t n; ! if (events & (POLLERR|POLLNVAL)) ! return (-1); ! if (in != NULL && events & POLLIN) { buffer_ensure(in, BUFSIZ); n = read(fd, BUFFER_IN(in), BUFFER_FREE(in)); if (n == 0) --- 30,36 ---- { ssize_t n; ! if (in != NULL && events & EV_READ) { buffer_ensure(in, BUFSIZ); n = read(fd, BUFFER_IN(in), BUFFER_FREE(in)); if (n == 0) *************** *** 41,49 **** return (-1); } else buffer_add(in, n); ! } else if (events & POLLHUP) ! return (-1); ! if (out != NULL && BUFFER_USED(out) > 0 && events & POLLOUT) { n = write(fd, BUFFER_OUT(out), BUFFER_USED(out)); if (n == -1) { if (errno != EINTR && errno != EAGAIN) --- 40,47 ---- return (-1); } else buffer_add(in, n); ! } ! if (out != NULL && BUFFER_USED(out) > 0 && events & EV_WRITE) { n = write(fd, BUFFER_OUT(out), BUFFER_USED(out)); if (n == -1) { if (errno != EINTR && errno != EAGAIN)