From: Davide Libenzi As reported by Michael Kerrisk, POLLRDHUP handling was not consistent between epoll and poll/select, since in epoll it was unmaskeable. This patch brings uniformity in POLLRDHUP handling. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton --- fs/eventpoll.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN fs/eventpoll.c~uniform-pollrdhup-handling-between-epoll-and-poll-select fs/eventpoll.c --- devel/fs/eventpoll.c~uniform-pollrdhup-handling-between-epoll-and-poll-select 2006-04-03 20:29:58.000000000 -0700 +++ devel-akpm/fs/eventpoll.c 2006-04-03 20:29:58.000000000 -0700 @@ -599,7 +599,7 @@ sys_epoll_ctl(int epfd, int op, int fd, switch (op) { case EPOLL_CTL_ADD: if (!epi) { - epds.events |= POLLERR | POLLHUP | POLLRDHUP; + epds.events |= POLLERR | POLLHUP; error = ep_insert(ep, &epds, tfile, fd); } else @@ -613,7 +613,7 @@ sys_epoll_ctl(int epfd, int op, int fd, break; case EPOLL_CTL_MOD: if (epi) { - epds.events |= POLLERR | POLLHUP | POLLRDHUP; + epds.events |= POLLERR | POLLHUP; error = ep_modify(ep, epi, &epds); } else error = -ENOENT; _