CVSROOT:        /cvs
Module name:    src
Changes by:     sema...@cvs.openbsd.org 2019/07/13 00:51:59

Modified files:
        sys/kern       : sys_pipe.c 

Log message:
pipe_write() do opportunistic buffer resizing, when the buffer is empty.
but there is a possible sleeping point between the check (cnt == 0) and
the resize (pipespace() call), resulting resizing on possibly not empty
buffer.

fix it by rechecking the buffer usage once the exclusive lock is hold.

it should be revisited later as part of larger work on pipe(2).

ok visa@ anton@

Reply via email to