diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 2004-11-07 15:59:27 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2004-11-07 15:59:27 +0000 |
commit | 0ac3a7f6941d6f7c7f20708710ad1597ab23b8f7 (patch) | |
tree | d9743946f8826d5e836a33e385aaa16ff8d81c5a /sys/compat/svr4/svr4_filio.c | |
parent | 2f5a40aa3f39fe7bd9b489387bc913bfa332582b (diff) |
More sensible FILEDESC_ locking.
Notes
Notes:
svn path=/head/; revision=137339
Diffstat (limited to 'sys/compat/svr4/svr4_filio.c')
-rw-r--r-- | sys/compat/svr4/svr4_filio.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/compat/svr4/svr4_filio.c b/sys/compat/svr4/svr4_filio.c index c15c5b493cb9..ef0352d36a86 100644 --- a/sys/compat/svr4/svr4_filio.c +++ b/sys/compat/svr4/svr4_filio.c @@ -209,14 +209,15 @@ svr4_fil_ioctl(fp, td, retval, fd, cmd, data) *retval = 0; - FILEDESC_LOCK(fdp); switch (cmd) { case SVR4_FIOCLEX: + FILEDESC_LOCK(fdp); fdp->fd_ofileflags[fd] |= UF_EXCLOSE; FILEDESC_UNLOCK(fdp); return 0; case SVR4_FIONCLEX: + FILEDESC_LOCK(fdp); fdp->fd_ofileflags[fd] &= ~UF_EXCLOSE; FILEDESC_UNLOCK(fdp); return 0; @@ -226,7 +227,6 @@ svr4_fil_ioctl(fp, td, retval, fd, cmd, data) case SVR4_FIOASYNC: case SVR4_FIONBIO: case SVR4_FIONREAD: - FILEDESC_UNLOCK(fdp); if ((error = copyin(data, &num, sizeof(num))) != 0) return error; @@ -249,7 +249,6 @@ svr4_fil_ioctl(fp, td, retval, fd, cmd, data) return copyout(&num, data, sizeof(num)); default: - FILEDESC_UNLOCK(fdp); DPRINTF(("Unknown svr4 filio %lx\n", cmd)); return 0; /* ENOSYS really */ } |