diff options
| author | Seigo Tanimura <tanimura@FreeBSD.org> | 2002-05-21 02:37:56 +0000 |
|---|---|---|
| committer | Seigo Tanimura <tanimura@FreeBSD.org> | 2002-05-21 02:37:56 +0000 |
| commit | 102638407ca0400fd7bbf52244d9c6a7f7f023b9 (patch) | |
| tree | 0171552d2836fae33dd3c3885f34116edf1f4356 | |
| parent | 743f138e8dd6aa486f4a07b2f83b6f567a14b172 (diff) | |
Notes
| -rw-r--r-- | sys/fs/fifofs/fifo_vnops.c | 4 |
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) { |
