cvs commit: src/sys/kern kern_exit.c kern_sig.c

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Jun 29 19:33:38 PDT 2007


dillon      2007/06/29 19:33:04 PDT

DragonFly src repository

  Modified files:
    sys/kern             kern_exit.c kern_sig.c 
  Log:
  Move the P_WEXIT check from lwpsignal() to kern_kill().  That is, disallow
  signals to exiting processes but allow signals to threads that have not gone
  through the exit interlock yet.  This allows exit1() to interlock the process
  and still signal its LWPs.
  
  Fix a bug in exit1() which was improperly using lwp_signotify() to wake up
  LWPs to force the to exit.  This function is basically a NOP if there are
  no signals pending to the LWP.  Send a real SIGKILL to the LWP instead.
  
  This fixes a bug where vkernels get stuck in an exiting state and cannot be
  killed.
  
  Reported-by: Joe Talbott <josepht at cstone.net>
  
  Revision  Changes    Path
  1.81      +2 -2      src/sys/kern/kern_exit.c
  1.80      +15 -4     src/sys/kern/kern_sig.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_exit.c.diff?r1=1.80&r2=1.81&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_sig.c.diff?r1=1.79&r2=1.80&f=u





More information about the Commits mailing list