On 2012/7/29 9:17, David Xu wrote:
On 2012/7/29 9:02, Garrett Cooper wrote:
On Sat, Jul 28, 2012 at 5:24 PM, David Xu <listlog2...@gmail.com> wrote:
On 2012/7/28 5:50, Garrett Cooper wrote:
The following reply was made to PR kern/170203; it has been noted by
GNATS.

From: Garrett Cooper <yaneg...@gmail.com>
To: bug-follo...@freebsd.org, yaneg...@gmail.com
Cc:
Subject: Re: kern/170203: [kern] piped dd&#39;s don&#39;t behave sanely
when
   dealing with a fifo
Date: Fri, 27 Jul 2012 14:47:47 -0700

   Hi David!
       I'll give the patches you provided a shot this weekend.
FIFO pipe is quite broken! Beside the bug you have reported, there is
another bug,
when a writer closed the pipe, select() on reader side will never return ! I am curious that so long time, nobody found the bugs, does it because FIFO
is seldom used by people ?
     Hmmm.. that's unfortunate. If you have a test program you can
provide then I can test on a 7.x variant of FreeBSD as well as FreeBSD
8.3 (I'm curious as to whether or not it's fallout from recent
refactoring related to pipe(2), which I don't believe made it back to
8.x).
Thanks!
-Garrett

I have just written two quick-and-dirty test cases:

http://people.freebsd.org/~davidxu/patch/fifopipe/fifo_selectread.c
http://people.freebsd.org/~davidxu/patch/fifopipe/fifo_selectwrite.c

without patch for kernel code,  a child process will print out "timeout".


I have updated patch, the patch fixed lost-notification bug for select():
http://people.freebsd.org/~davidxu/patch/fifopipe/kernel_pipe2.diff

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

Reply via email to