summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <dumbbell@FreeBSD.org>2007-11-25 11:11:28 +0000
committerJean-Sébastien Pédron <dumbbell@FreeBSD.org>2007-11-25 11:11:28 +0000
commit8e114f600ae4cfd526a17f8a704bb9c1d60ddb3b (patch)
tree0b925c91ef88d1ec22774dc7d8c747e7de749d98
parent4a219720a88b1bc966bf1e3532dfa302d5723376 (diff)
Notes
-rw-r--r--sys/kern/sys_pipe.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c
index 687130640639..c1e954679526 100644
--- a/sys/kern/sys_pipe.c
+++ b/sys/kern/sys_pipe.c
@@ -880,6 +880,7 @@ retry:
wpipe->pipe_state &= ~PIPE_WANTR;
wakeup(wpipe);
}
+ pipeselwakeup(wpipe);
wpipe->pipe_state |= PIPE_WANTW;
pipeunlock(wpipe);
error = msleep(wpipe, PIPE_MTX(wpipe),
@@ -895,6 +896,7 @@ retry:
wpipe->pipe_state &= ~PIPE_WANTR;
wakeup(wpipe);
}
+ pipeselwakeup(wpipe);
wpipe->pipe_state |= PIPE_WANTW;
pipeunlock(wpipe);
error = msleep(wpipe, PIPE_MTX(wpipe),
@@ -1080,6 +1082,8 @@ pipe_write(fp, uio, active_cred, flags, td)
wpipe->pipe_state &= ~PIPE_WANTR;
wakeup(wpipe);
}
+ pipeselwakeup(wpipe);
+ wpipe->pipe_state |= PIPE_WANTW;
pipeunlock(wpipe);
error = msleep(wpipe, PIPE_MTX(rpipe), PRIBIO | PCATCH,
"pipbww", 0);