git: kernel - Fix signal delivery races

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Jul 29 01:24:47 PDT 2011


commit fc509460adef494b5b84b40cf6fbdd498d5a9a8b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Jul 29 01:19:29 2011 -0700

    kernel - Fix signal delivery races
    
    * The send side was using p->p_token but the processing code from trap
      was still using the mp_lock.  Fix the trap processing code to use
      p->p_token.
    
    * This fixes several nasty races that can cause signals to be lost and
      vkernels to freeze, and possibly other programs which depend on signals
      between threads.

Summary of changes:
 sys/kern/kern_sig.c                  |    2 ++
 sys/platform/pc32/i386/trap.c        |    8 ++++----
 sys/platform/pc64/x86_64/trap.c      |    8 ++++----
 sys/platform/vkernel/i386/trap.c     |    8 ++++----
 sys/platform/vkernel64/x86_64/trap.c |    8 ++++----
 5 files changed, 18 insertions(+), 16 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fc509460adef494b5b84b40cf6fbdd498d5a9a8b


-- 
DragonFly BSD source repository





More information about the Commits mailing list