CVSROOT: /cvs Module name: src Changes by: an...@cvs.openbsd.org 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@