aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2005-10-04 15:33:06 +0000
committerRobert Watson <rwatson@FreeBSD.org>2005-10-04 15:33:06 +0000
commitff332b1cb93b4029afbd2037a2f125eec1097656 (patch)
tree6fde5c7f2cc6a55b933f5eeaf891d95c173a1bd1
parent6de5c88f6769e41c2bd0f4a44e60977593a674c4 (diff)
Notes
-rw-r--r--sys/fs/fifofs/fifo_vnops.c4
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);
}