CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2019/12/25 02:32:01
Modified files:
sys/kern : sys_pipe.c
sys/sys : pipe.h
Log message:
Protect remaining fields of `struct pipe' using the pipe_lock. In order
to simplify the locking pattern, revert back to using a hand-rolled I/O
lock just like FreeBSD and NetBSD does. The state of pipes is quite
different compared to when I made use of a rwlock for the I/O lock in
revision 1.96. Most notably, the pipe_lock can now be used while
sleeping. This does imply that witness(4) tracking of the I/O lock is
lost but the implementation ends up being simpler.
ok visa@