Page MenuHomeFreeBSD

D35415.diff
No OneTemporary

D35415.diff

diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c
--- a/sys/kern/sys_pipe.c
+++ b/sys/kern/sys_pipe.c
@@ -651,8 +651,8 @@
("%s: bad waiter count %d", __func__,
cpipe->pipe_waiters));
cpipe->pipe_waiters++;
- error = msleep(cpipe, PIPE_MTX(cpipe),
- prio, "pipelk", 0);
+ error = msleep(&cpipe->pipe_waiters, PIPE_MTX(cpipe), prio,
+ "pipelk", 0);
cpipe->pipe_waiters--;
if (error != 0)
return (error);
@@ -675,9 +675,8 @@
("%s: bad waiter count %d", __func__,
cpipe->pipe_waiters));
cpipe->pipe_state &= ~PIPE_LOCKFL;
- if (cpipe->pipe_waiters > 0) {
- wakeup_one(cpipe);
- }
+ if (cpipe->pipe_waiters > 0)
+ wakeup_one(&cpipe->pipe_waiters);
}
void

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 23, 10:49 PM (19 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14810650
Default Alt Text
D35415.diff (715 B)

Event Timeline