Module Name: src Committed By: hannken Date: Tue Apr 15 09:50:45 UTC 2014
Modified Files: src/sys/kern: vfs_trans.c Log Message: Fix a deadlock where one thread exits, enters fstrans_lwp_dtor() and wants fstrans_lock. This thread holds the proc_lock. Another thread holds fstrans_lock and runs pserialize_perform(). As the first thread holds the proc_lock, timeouts are blocked and the second thread blocks forever in kpause(). Change fstrans_lwp_dtor() to invalidate, but not free its info structs. No need to take fstrans_lock. Change fstrans_get_lwp_info() to reuse invalidated info before trying to allocate a new one. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/kern/vfs_trans.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.