Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Oct 2009 14:34:24 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r198590 - head/sys/kern
Message-ID:  <200910291434.n9TEYOVJ099388@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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)) {
 			/*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910291434.n9TEYOVJ099388>