summaryrefslogtreecommitdiff
path: root/sys/kern/sys_pipe.c
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2004-11-23 22:15:08 +0000
committerRobert Watson <rwatson@FreeBSD.org>2004-11-23 22:15:08 +0000
commit436cac68e60047527fafc60693ffb2a5d3e02a18 (patch)
tree6aec7035a982e1002ebf2c9544b9c9579506434d /sys/kern/sys_pipe.c
parent3f40c363120b4aa0538e10bd6e6d36ab76c9ae52 (diff)
Notes
Diffstat (limited to 'sys/kern/sys_pipe.c')
-rw-r--r--sys/kern/sys_pipe.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c
index 16af8097eb93..e8468d4a8ff0 100644
--- a/sys/kern/sys_pipe.c
+++ b/sys/kern/sys_pipe.c
@@ -1292,8 +1292,9 @@ pipe_ioctl(fp, cmd, data, active_cred, td)
break;
case FIOSETOWN:
+ PIPE_UNLOCK(mpipe);
error = fsetown(*(int *)data, &mpipe->pipe_sigio);
- break;
+ goto out_unlocked;
case FIOGETOWN:
*(int *)data = fgetown(&mpipe->pipe_sigio);
@@ -1301,8 +1302,9 @@ pipe_ioctl(fp, cmd, data, active_cred, td)
/* This is deprecated, FIOSETOWN should be used instead. */
case TIOCSPGRP:
+ PIPE_UNLOCK(mpipe);
error = fsetown(-(*(int *)data), &mpipe->pipe_sigio);
- break;
+ goto out_unlocked;
/* This is deprecated, FIOGETOWN should be used instead. */
case TIOCGPGRP:
@@ -1314,6 +1316,7 @@ pipe_ioctl(fp, cmd, data, active_cred, td)
break;
}
PIPE_UNLOCK(mpipe);
+out_unlocked:
return (error);
}