git: kernel - Add per-process token, adjust signal code to use it.
    Matthew Dillon 
    dillon at crater.dragonflybsd.org
       
    Fri Feb 11 14:54:39 PST 2011
    
    
  
commit 5686ec5a3d0bf6c0ae72cf58ad9b957b4ea71c1a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Feb 11 14:47:58 2011 -0800
    kernel - Add per-process token, adjust signal code to use it.
    
    * Add proc->p_token and use it to interlock signal-related operations.
    
    * Remove the use of proc_token in various signal paths.  Note that proc_token
      is still used in conjuction with pfind().
    
    * Remove the use of proc_token in CURSIG*()/issignal() sequences, which
      also removes its use in the tsleep path and the syscall path.  p->p_token
      is use instead.
    
    * Move the automatic interlock in the tsleep code to before the CURSIG code,
      fixing a rare race where a SIGCHLD could race against a parent process
      in sigsuspend().  Also acquire p->p_token here to interlock LWP_SINTR
      handling.
Summary of changes:
 sys/kern/init_main.c         |    1 +
 sys/kern/kern_checkpoint.c   |    4 +-
 sys/kern/kern_exit.c         |    3 +-
 sys/kern/kern_fork.c         |    1 +
 sys/kern/kern_sig.c          |   72 ++++++++++++++++++++++++-----------------
 sys/kern/kern_synch.c        |   58 ++++++++++++++++++++-------------
 sys/kern/sys_process.c       |   29 ++++++++++++++++-
 sys/sys/proc.h               |    1 +
 sys/sys/signal2.h            |    5 ++-
 sys/vfs/procfs/procfs_ctl.c  |    2 +
 sys/vfs/procfs/procfs_subr.c |    4 ++
 11 files changed, 122 insertions(+), 58 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5686ec5a3d0bf6c0ae72cf58ad9b957b4ea71c1a
-- 
DragonFly BSD source repository
    
    
More information about the Commits
mailing list