Davide Libenzi
f348d70a32
[PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications
...
Implement the half-closed devices notifiation, by adding a new POLLRDHUP
(and its alias EPOLLRDHUP) bit to the existing poll/select sets. Since the
existing POLLHUP handling, that does not report correctly half-closed
devices, was feared to be changed, this implementation leaves the current
POLLHUP reporting unchanged and simply add a new bit that is set in the few
places where it makes sense. The same thing was discussed and conceptually
agreed quite some time ago:
http://lkml.org/lkml/2003/7/12/116
Since this new event bit is added to the existing Linux poll infrastruture,
even the existing poll/select system calls will be able to use it. As far
as the existing POLLHUP handling, the patch leaves it as is. The
pollrdhup-2.6.16.rc5-0.10.diff defines the POLLRDHUP for all the existing
archs and sets the bit in the six relevant files. The other attached diff
is the simple change required to sys/epoll.h to add the EPOLLRDHUP
definition.
There is "a stupid program" to test POLLRDHUP delivery here:
http://www.xmailserver.org/pollrdhup-test.c
It tests poll(2), but since the delivery is same epoll(2) will work equally.
Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Michael Kerrisk <mtk-manpages@gmx.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-25 08:22:56 -08:00
..
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:07 -07:00
2005-10-29 19:31:35 +01:00
2005-04-16 15:20:36 -07:00
2005-11-17 16:23:48 +00:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:30:52 +01:00
2005-09-05 00:06:07 -07:00
2005-04-16 15:20:36 -07:00
2006-02-07 13:30:23 +00:00
2006-03-21 13:27:44 +00:00
2005-11-17 16:23:42 +00:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:31:35 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-03-21 13:27:45 +00:00
2006-01-10 13:39:06 +00:00
2006-03-21 13:27:45 +00:00
2006-03-21 13:27:45 +00:00
2006-01-10 13:39:06 +00:00
2005-09-05 00:06:07 -07:00
2005-11-17 16:23:54 +00:00
2005-04-16 15:20:36 -07:00
2006-03-20 14:49:55 -08:00
2005-04-16 15:20:36 -07:00
2006-01-10 13:39:06 +00:00
2005-11-17 16:23:42 +00:00
2005-10-29 19:31:54 +01:00
2005-12-01 11:05:15 +00:00
2006-02-14 19:13:23 +00:00
2005-10-29 19:31:17 +01:00
2005-10-29 19:32:32 +01:00
2006-01-10 13:39:06 +00:00
2005-11-17 16:23:57 +00:00
2005-04-16 15:20:36 -07:00
2005-10-18 18:03:47 -04:00
2006-03-18 16:59:30 +00:00
2006-03-21 13:27:47 +00:00
2006-02-07 13:30:26 +00:00
2005-10-29 19:31:57 +01:00
2006-01-10 13:39:07 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:06 -07:00
2006-02-08 17:52:25 +00:00
2005-10-29 19:32:46 +01:00
2005-10-29 19:31:18 +01:00
2005-09-09 22:32:31 +02:00
2005-09-09 22:32:31 +02:00
2005-09-05 00:06:07 -07:00
2006-02-27 17:30:36 +00:00
2005-09-07 16:57:21 -07:00
2005-04-16 15:20:36 -07:00
2006-02-07 13:30:24 +00:00
2005-10-29 19:31:57 +01:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:30:34 +01:00
2005-10-29 19:32:38 +01:00
2005-10-29 19:31:05 +01:00
2006-03-21 13:27:44 +00:00
2006-01-08 20:13:39 -08:00
2005-04-16 15:20:36 -07:00
2006-02-07 13:30:25 +00:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:32:25 +01:00
2006-03-21 13:27:46 +00:00
2005-04-16 15:20:36 -07:00
2006-03-18 16:59:27 +00:00
2006-03-18 16:59:27 +00:00
2006-02-14 19:13:25 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-01-10 13:39:04 +00:00
2005-04-16 15:20:36 -07:00
2005-10-28 08:16:48 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-01-10 13:39:04 +00:00
2006-01-10 13:39:08 +00:00
2005-07-26 14:35:41 -07:00
2005-11-07 18:05:40 +00:00
2005-10-29 19:32:40 +01:00
2005-10-29 19:30:28 +01:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:07 -07:00
2005-10-29 19:31:14 +01:00
2005-10-29 19:31:13 +01:00
2005-10-29 19:32:21 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-03-18 16:59:26 +00:00
2005-10-29 19:31:42 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:31:17 +01:00
2006-02-07 13:30:26 +00:00
2005-10-29 19:30:57 +01:00
2006-03-24 07:33:19 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:30:50 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-03-24 07:33:25 -08:00
2005-09-05 00:06:06 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-07 18:05:38 +00:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:32:10 +01:00
2005-04-16 15:20:36 -07:00
2006-01-10 13:39:05 +00:00
2006-02-15 15:32:22 -08:00
2006-03-21 13:27:46 +00:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:32:40 +01:00
2005-11-07 18:05:34 +00:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:06 -07:00
2006-01-09 15:59:19 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:30:53 +01:00
2005-10-29 19:32:37 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:32:49 +01:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:30:31 +01:00
2006-03-21 13:27:47 +00:00
2005-10-30 17:37:22 -08:00
2005-10-29 19:31:37 +01:00
2005-11-07 07:53:41 -08:00
2005-04-16 15:20:36 -07:00
2006-03-25 08:22:56 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-01-12 09:08:59 -08:00
2005-10-29 19:32:29 +01:00
2005-09-05 00:06:04 -07:00
2006-03-21 13:27:45 +00:00
2006-02-07 13:30:22 +00:00
2005-09-05 00:06:08 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:06 -07:00
2005-11-07 18:05:38 +00:00
2005-11-07 18:05:33 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-30 17:37:27 -08:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:30:52 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:06 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:31:17 +01:00
2005-10-29 19:31:15 +01:00
2006-03-21 13:27:46 +00:00
2005-09-09 22:32:31 +02:00
2006-02-27 17:30:36 +00:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:32:26 +01:00
2005-04-16 15:20:36 -07:00
2005-09-10 10:06:21 -07:00
2005-10-29 19:32:40 +01:00
2006-03-21 13:27:46 +00:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:07 -07:00
2006-02-07 13:30:25 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-03-21 13:27:47 +00:00
2006-03-22 00:13:35 +01:00
2005-04-16 15:20:36 -07:00
2006-03-21 13:27:47 +00:00
2005-11-07 18:05:38 +00:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:07 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:31:53 +01:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:06 -07:00
2006-02-21 16:58:22 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-02-21 16:58:23 +00:00
2005-04-16 15:20:36 -07:00
2006-03-09 18:05:10 +00:00
2005-10-29 19:31:23 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:07 -07:00