summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeigo Tanimura <tanimura@FreeBSD.org>2002-05-21 02:37:56 +0000
committerSeigo Tanimura <tanimura@FreeBSD.org>2002-05-21 02:37:56 +0000
commit102638407ca0400fd7bbf52244d9c6a7f7f023b9 (patch)
tree0171552d2836fae33dd3c3885f34116edf1f4356
parent743f138e8dd6aa486f4a07b2f83b6f567a14b172 (diff)
Notes
-rw-r--r--sys/fs/fifofs/fifo_vnops.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c
index 71ba03ce2cd5..449487160afa 100644
--- a/sys/fs/fifofs/fifo_vnops.c
+++ b/sys/fs/fifofs/fifo_vnops.c
@@ -224,11 +224,13 @@ fifo_open(ap)
if (fip->fi_writers == 1) {
SOCK_LOCK(fip->fi_readsock);
fip->fi_readsock->so_state &= ~SS_CANTRCVMORE;
+ SOCK_UNLOCK(fip->fi_readsock);
if (fip->fi_readers > 0) {
wakeup((caddr_t)&fip->fi_readers);
+ SOCK_LOCK(fip->fi_writesock);
sorwakeup(fip->fi_writesock);
+ SOCK_UNLOCK(fip->fi_writesock);
}
- SOCK_UNLOCK(fip->fi_readsock);
}
}
if ((ap->a_mode & FREAD) && (ap->a_mode & O_NONBLOCK) == 0) {