On Tue, Jul 31, 2012 at 7:48 AM, David Xu <davi...@freebsd.org> wrote:
> Author: davidxu
> Date: Tue Jul 31 05:48:35 2012
> New Revision: 238936
> URL: http://svn.freebsd.org/changeset/base/238936
>
> Log:
>   I am comparing current pipe code with the one in 8.3-STABLE r236165,
>   I found 8.3 is a history BSD version using socket to implement FIFO
>   pipe, it uses per-file seqcount to compare with writer generation
>   stored in per-pipe object. The concept is after all writers are gone,
>   the pipe enters next generation, all old readers have not closed the
>   pipe should get the indication that the pipe is disconnected, result
>   is they should get EPIPE, SIGPIPE or get POLLHUP in poll().
>   But newcomer should not know that previous writters were gone, it
>   should treat it as a fresh session.
>   I am trying to bring back FIFO pipe to history behavior. It is still
>   unclear that if single EOF flag can represent SBS_CANTSENDMORE and
>   SBS_CANTRCVMORE which socket-based version is using, but I have run
>   the poll regression test in tool directory, output is same as the one
>   on 8.3-STABLE now.
>   I think the output "not ok 18 FIFO state 6b: poll result 0 expected 1.
>   expected POLLHUP; got 0" might be bogus, because newcomer should not
>   know that old writers were gone. I got the same behavior on Linux.
>   Our implementation always return POLLIN for disconnected pipe even it
>   should return POLLHUP, but I think it is not wise to remove POLLIN for
>   compatible reason, this is our history behavior.
>

I'm sorry but I'm failing to understand the reason for this change.
Can you point me out a test that confirm that the change is needed.
The only thing I see is an increase in the memory footprint for the pipes.
There was a lot of discussions on this topic on -arch mailing list

http://lists.freebsd.org/pipermail/freebsd-arch/2012-January/012131.html
http://lists.freebsd.org/pipermail/freebsd-arch/2012-February/012314.html

Thank you

--
Gianni
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to