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>