OpenCloudOS-Kernel/net/bluetooth
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
..
bnep [BLUETOOTH]: Return negative error constant 2006-03-21 23:53:16 -08:00
cmtp [PATCH] capable/capability.h (net/) 2006-01-11 18:42:14 -08:00
hidp [PATCH] capable/capability.h (net/) 2006-01-11 18:42:14 -08:00
rfcomm [NET] sem2mutex: net/ 2006-03-20 22:33:17 -08:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
af_bluetooth.c [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
hci_conn.c [NET]: Remove unneeded kmalloc() return value casts 2006-01-10 13:08:21 -08:00
hci_core.c [Bluetooth]: Add endian annotations to the core 2005-11-08 09:57:21 -08:00
hci_event.c [Bluetooth]: Add endian annotations to the core 2005-11-08 09:57:21 -08:00
hci_sock.c [Bluetooth] Fix NULL pointer dereferences of the HCI socket 2006-02-13 11:40:03 +01:00
hci_sysfs.c [PATCH] driver core: replace "hotplug" by "uevent" 2006-01-04 16:18:08 -08:00
l2cap.c [PATCH] capable/capability.h (net/) 2006-01-11 18:42:14 -08:00
lib.c [Bluetooth] Remove unused functions and cleanup symbol exports 2005-08-06 12:36:51 +02:00
sco.c [NET]: move struct proto_ops to const 2006-01-03 13:11:15 -08:00