Author: kib
Date: Thu Oct 29 14:34:24 2009
New Revision: 198590
URL: http://svn.freebsd.org/changeset/base/198590

Log:
  Trapsignal() calls kern_sigprocmask() when delivering catched signal
  with proc lock held.
  
  Reported and tested by:       Mykola Dzham  freebsd at levsha org ua
  MFC after:    1 month

Modified:
  head/sys/kern/kern_sig.c

Modified: head/sys/kern/kern_sig.c
==============================================================================
--- head/sys/kern/kern_sig.c    Thu Oct 29 14:34:02 2009        (r198589)
+++ head/sys/kern/kern_sig.c    Thu Oct 29 14:34:24 2009        (r198590)
@@ -1863,7 +1863,8 @@ trapsignal(struct thread *td, ksiginfo_t
                if (!SIGISMEMBER(ps->ps_signodefer, sig)) {
                        SIGEMPTYSET(mask);
                        SIGADDSET(mask, sig);
-                       kern_sigprocmask(td, SIG_BLOCK, &mask, NULL, 0);
+                       kern_sigprocmask(td, SIG_BLOCK, &mask, NULL,
+                           SIGPROCMASK_PROC_LOCKED);
                }
                if (SIGISMEMBER(ps->ps_sigreset, sig)) {
                        /*
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to