summaryrefslogtreecommitdiff
path: root/sys/kern/sys_generic.c
diff options
context:
space:
mode:
authorAlfred Perlstein <alfred@FreeBSD.org>2002-01-16 21:33:41 +0000
committerAlfred Perlstein <alfred@FreeBSD.org>2002-01-16 21:33:41 +0000
commitb5c93a560d74ff0262606a32f48ec37f442a3054 (patch)
tree3caa735e51f17ff3a46927fa134e5aa5580fa050 /sys/kern/sys_generic.c
parent22539cefa1d2ab5bcefd1c0cfabc0b975b70082c (diff)
Notes
Diffstat (limited to 'sys/kern/sys_generic.c')
-rw-r--r--sys/kern/sys_generic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c
index 77b843dddf44..d4fd72858144 100644
--- a/sys/kern/sys_generic.c
+++ b/sys/kern/sys_generic.c
@@ -394,11 +394,12 @@ pwrite(td, uap)
struct file *fp;
int error;
- mtx_lock(&Giant);
if ((error = fget_write(td, uap->fd, &fp)) == 0) {
if (fp->f_type == DTYPE_VNODE) {
+ mtx_lock(&Giant);
error = dofilewrite(td, fp, uap->fd, uap->buf,
uap->nbyte, uap->offset, FOF_OFFSET);
+ mtx_unlock(&Giant);
} else {
error = ESPIPE;
}