android_kernel_xiaomi_sm8350/net/sctp
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
..
associola.c [SCTP]: Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft. 2006-01-03 13:11:11 -08:00
bind_addr.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
chunk.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
command.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
crc32c.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
debug.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
endpointola.c [SCTP]: Include ulpevents in socket receive buffer accounting. 2005-11-11 16:08:24 -08:00
input.c [SCTP]: Fix sctp_rcv_ootb() to handle the last chunk of a packet correctly. 2006-01-17 11:57:09 -08:00
inqueue.c [SCTP]: Fix potential race condition between sctp_close() and sctp_rcv(). 2006-01-17 11:51:28 -08:00
ipv6.c [NET]: Identation & other cleanups related to compat_[gs]etsockopt cset 2006-03-20 22:48:35 -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
objcnt.c [SCTP]: Audit return code of create_proc_* 2005-07-18 13:38:07 -07:00
output.c [SCTP]: Fix 'fast retransmit' to send a TSN only once. 2006-02-02 16:57:31 -08:00
outqueue.c [SCTP]: Fix 'fast retransmit' to send a TSN only once. 2006-02-02 16:57:31 -08:00
primitive.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
proc.c [SCTP]: Fix sctp_assoc_seq_show() panics on big-endian systems. 2006-01-17 11:54:06 -08:00
protocol.c [NET]: Identation & other cleanups related to compat_[gs]etsockopt cset 2006-03-20 22:48:35 -08:00
sm_make_chunk.c [SCTP]: Fix machine check/connection hang on IA64. 2006-01-17 11:55:57 -08:00
sm_sideeffect.c [SCTP]: Fix bad sysctl formatting of SCTP timeout values on 64-bit m/cs. 2006-01-17 11:55:17 -08:00
sm_statefuns.c [SCTP]: heartbeats exceed maximum retransmssion limit 2006-01-30 16:00:40 -08:00
sm_statetable.c [SCTP] sctp_connectx() API support 2005-06-20 13:14:57 -07:00
socket.c [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
ssnmap.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
sysctl.c [SCTP]: Fix bad sysctl formatting of SCTP timeout values on 64-bit m/cs. 2006-01-17 11:55:17 -08:00
transport.c [SCTP]: Fix bad sysctl formatting of SCTP timeout values on 64-bit m/cs. 2006-01-17 11:55:17 -08:00
tsnmap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ulpevent.c [SCTP]: Include ulpevents in socket receive buffer accounting. 2005-11-11 16:08:24 -08:00
ulpqueue.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00