Author: pjd
Date: Thu Jun 14 15:26:23 2012
New Revision: 237073
URL: http://svn.freebsd.org/changeset/base/237073
Log:
Assert that the filedesc lock is not held when closef() is called.
MFC after: 1 month
Modified:
head/sys/kern/kern_descrip.c
Modified: head/sys/kern/kern_descrip.c
==============================================================================
--- head/sys/kern/kern_descrip.c Thu Jun 14 15:24:45 2012
(r237072)
+++ head/sys/kern/kern_descrip.c Thu Jun 14 15:26:23 2012
(r237073)
@@ -2112,6 +2112,9 @@ closef(struct file *fp, struct thread *t
struct filedesc *fdp;
struct file *fp_object;
+ fdp = td->td_proc->p_fd;
+ FILEDESC_UNLOCK_ASSERT(fdp);
+
/*
* POSIX record locking dictates that any close releases ALL
* locks owned by this process. This is handled by setting
@@ -2147,7 +2150,6 @@ closef(struct file *fp, struct thread *t
* Handle special case where file descriptor table is
* shared between multiple process leaders.
*/
- fdp = td->td_proc->p_fd;
FILEDESC_XLOCK(fdp);
for (fdtol = fdtol->fdl_next;
fdtol != td->td_proc->p_fdtol;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"