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