Date: Sun, 29 Jul 2012 10:56:10 +0800 From: David Xu <listlog2011@gmail.com> To: davidxu@freebsd.org Cc: Garrett Cooper <yanegomi@gmail.com>, freebsd-bugs@freebsd.org Subject: Re: kern/170203: [kern] piped dd' s don' t behave sanely when dealing with a fifo Message-ID: <5014A64A.3010106@gmail.com> In-Reply-To: <50148F42.20105@gmail.com> References: <201207272150.q6RLo9ew012879@freefall.freebsd.org> <501482CD.6050708@gmail.com> <CAGH67wQYCf6N0hF4Hru63snCxVoPjBmLgjyPkVBRT7q7%2BgcqbQ@mail.gmail.com> <50148F42.20105@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <listlog2011@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 <yanegomi@gmail.com> >>>> To: bug-followup@FreeBSD.org, yanegomi@gmail.com >>>> Cc: >>>> Subject: Re: kern/170203: [kern] piped dd's don'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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5014A64A.3010106>