git: kernel - Fix pgrp and session ref-count races

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Oct 9 09:00:55 PDT 2013


commit e6a0f74a93f01bc8fa27e0366631879920abb279
Author: Matthew Dillon <dillon at apollo.backplane.com>
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



More information about the Commits mailing list