git: DragonFly_RELEASE_5_8 kernel - Fix rare wait*() deadlock
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Feb 28 09:16:46 PST 2020
commit b6e9d95d54168ebc375ad99e14c039d88869f10b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Feb 14 21:37:32 2020 -0800
kernel - Fix rare wait*() deadlock
* It is possible for the kernel to deadlock two processes or process
threads attempting to wait*() on the same pid.
* Fix by adding a bit of magic to give ownership of the reaping
operation to one of the waiters, and causing the other waiters
to skip/reject that pid.
Summary of changes:
sys/kern/kern_exit.c | 19 +++++++++++++++++++
sys/kern/kern_proc.c | 52 +++++++++++++++++++++++++++++++++++++++++++++-------
sys/sys/proc.h | 5 +++++
3 files changed, 69 insertions(+), 7 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b6e9d95d54168ebc375ad99e14c039d88869f10b
--
DragonFly BSD source repository
More information about the Commits
mailing list