git: DragonFly_RELEASE_6_4 kernel - Fix lost wakeup in fifo_open()
Aaron LI
aly at crater.dragonflybsd.org
Thu Sep 17 06:28:52 PDT 2026
commit 3e72cdefefd9b716f65a1b1adf0fde32ff710099
Author: Antonio Huete Jimenez <tuxillo at quantumachine.net>
Date: Tue Sep 15 20:39:17 2026 +0200
kernel - Fix lost wakeup in fifo_open()
* fifo_open() tests fi_readers, drops the fifo and vnode locks, then
tsleeps. A peer opening in that window bumps the counter and issues
its wakeup before the sleeper is queued, so open(2) blocks forever
with a peer already attached. Both paths are affected.
* Queue with tsleep_interlock() before releasing the locks and sleep
with PINTERLOCKED.
Reviewed-by: @dillon
Summary of changes:
sys/vfs/fifofs/fifo_vnops.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3e72cdefefd9b716f65a1b1adf0fde32ff710099
--
DragonFly BSD source repository
More information about the Commits
mailing list