diff options
| author | Robert Watson <rwatson@FreeBSD.org> | 2005-10-04 15:33:06 +0000 |
|---|---|---|
| committer | Robert Watson <rwatson@FreeBSD.org> | 2005-10-04 15:33:06 +0000 |
| commit | ff332b1cb93b4029afbd2037a2f125eec1097656 (patch) | |
| tree | 6fde5c7f2cc6a55b933f5eeaf891d95c173a1bd1 | |
| parent | 6de5c88f6769e41c2bd0f4a44e60977593a674c4 (diff) | |
Notes
| -rw-r--r-- | sys/fs/fifofs/fifo_vnops.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c index 9084fc69cc63..37dfcb942f52 100644 --- a/sys/fs/fifofs/fifo_vnops.c +++ b/sys/fs/fifofs/fifo_vnops.c @@ -705,7 +705,9 @@ fifo_read_f(struct file *fp, struct uio *uio, struct ucred *cred, int flags, str if (uio->uio_resid == 0) return (0); sflags = (fp->f_flag & FNONBLOCK) ? MSG_NBIO : 0; + mtx_lock(&Giant); error = soreceive(fip->fi_readsock, NULL, uio, NULL, NULL, &sflags); + mtx_unlock(&Giant); return (error); } @@ -725,6 +727,8 @@ fifo_write_f(struct file *fp, struct uio *uio, struct ucred *cred, int flags, st fip = fp->f_data; KASSERT(uio->uio_rw == UIO_WRITE,("fifo_write mode")); sflags = (fp->f_flag & FNONBLOCK) ? MSG_NBIO : 0; + mtx_lock(&Giant); error = sosend(fip->fi_writesock, NULL, uio, 0, NULL, sflags, td); + mtx_unlock(&Giant); return (error); } |
