CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2019/05/06 10:29:19
Modified files:
sys/kern : vfs_lockf.c
Log message:
Bring back lockf deadlock detection from the dead. Back in 2007, the deadlock
detection broke while changing the owner of a lock from struct proc to struct
filedesc/file. Instead of keeping track of the owning proc for each lock,
introduce a new list for all pending blocked locks. This list is scanned before
waiting on a blocking lock in order to determine if sleeping would cause a
deadlock.
The new implementation is serialized by the recently added locking to the same
subsystem, meaning that acquiring the kernel lock is no longer necessary.
ok visa@