Date: Tue, 1 Sep 2009 20:58:41 +0000 (UTC) From: Jilles Tjoelker <jilles@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/fs/fifofs fifo_vnops.c src/sys/kern sys_generic.c src/tools/regression/poll Makefile sockpoll.c Message-ID: <200909012102.n81L23fM045310@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jilles 2009-09-01 20:58:41 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_8)
sys/fs/fifofs fifo_vnops.c
sys/kern sys_generic.c
tools/regression/poll Makefile
Added files: (Branch: RELENG_8)
tools/regression/poll sockpoll.c
Log:
SVN rev 196741 on 2009-09-01 20:58:41Z by jilles
MFC r196460
Fix the conformance of poll(2) for sockets after r195423 by
returning POLLHUP instead of POLLIN for several cases. Now, the
tools/regression/poll results for FreeBSD are closer to that of the
Solaris and Linux.
Also, improve the POSIX conformance by explicitely clearing POLLOUT
when POLLHUP is reported in pollscan(), making the fix global.
Submitted by: bde
Reviewed by: rwatson
MFC r196556
Fix poll() on half-closed sockets, while retaining POLLHUP for fifos.
This reverts part of r196460, so that sockets only return POLLHUP if both
directions are closed/error. Fifos get POLLHUP by closing the unused
direction immediately after creating the sockets.
The tools/regression/poll/*poll.c tests now pass except for two other
things:
- if POLLHUP is returned, POLLIN is always returned as well instead of
only when there is data left in the buffer to be read
- fifo old/new reader distinction does not work the way POSIX specs it
Reviewed by: kib, bde
MFC r196554
Add some tests for poll(2)/shutdown(2) interaction.
Approved by: re (kensmith)
Revision Changes Path
1.152.2.2 +3 -0 src/sys/fs/fifofs/fifo_vnops.c
1.175.2.2 +7 -0 src/sys/kern/sys_generic.c
1.2.2.2 +3 -2 src/tools/regression/poll/Makefile
1.1.2.2 +202 -0 src/tools/regression/poll/sockpoll.c (new)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909012102.n81L23fM045310>
