kern/170203: [kern] piped dd' s don' t behave sanely when dealing with a fifo

David Xu listlog2011 at gmail.com
Mon Jul 30 06:01:49 UTC 2012


On 2012/7/29 17:16, Bruce Evans wrote:
> On Sun, 29 Jul 2012, David Xu wrote:
>
>>> 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
>
> So it was a bug in the new pipe code.
>
My patch only fixes the lost of notification, it is not intent to fix 
the problems
in  /usr/src/tools/regression/poll tests, I think those are other more 
detailed
implementation problems.

> The test seemed to work under FreeBSD-~5.2 but was hard to configure.
> It gave lots of abort traps.  One was for the big buffer.  This is too
> big for -current too, and causes a mysterious abort trap with no core,
> before exec.  truss, gdb and bde were confused.
>
I am sorry that you were confused, I have updated fifo_selectread.c, it 
had a large buffer
which is a left-over from my another local program, I have removed the 
buffer.

> Bruce
>
Regards,
David Xu



More information about the freebsd-bugs mailing list