commit e6a0f74a93f01bc8fa27e0366631879920abb279
Author: Matthew Dillon <[email protected]>
Date: Wed Oct 9 08:58:35 2013 -0700
kernel - Fix pgrp and session ref-count races
* Fix some tight timing windows where the ref count on these structures
could race.
* Protect the pgrp hash table with a spinlock instead of using proc_token.
* Improve pgfind() performance by using the spinlock in shared mode.
* Do not transition p_pgrp through NULL when changing a process's pgrp.
Atomically transition the process (protected p->p_token and
pg->pg_token).
Summary of changes:
sys/kern/kern_proc.c | 180 ++++++++++++++++++++++++++++++++-------------------
1 file changed, 113 insertions(+), 67 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e6a0f74a93f01bc8fa27e0366631879920abb279
--
DragonFly BSD source repository