From owner-cvs-src-old@FreeBSD.ORG Thu Oct 14 08:01:47 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A62DD1065675 for ; Thu, 14 Oct 2010 08:01:47 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 943238FC15 for ; Thu, 14 Oct 2010 08:01:47 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o9E81lBT013715 for ; Thu, 14 Oct 2010 08:01:47 GMT (envelope-from davidxu@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o9E81lWT013714 for cvs-src-old@freebsd.org; Thu, 14 Oct 2010 08:01:47 GMT (envelope-from davidxu@repoman.freebsd.org) Message-Id: <201010140801.o9E81lWT013714@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to davidxu@repoman.freebsd.org using -f From: David Xu Date: Thu, 14 Oct 2010 08:01:33 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern kern_sig.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Oct 2010 08:01:47 -0000 davidxu 2010-10-14 08:01:33 UTC FreeBSD src repository Modified files: sys/kern kern_sig.c Log: SVN rev 213829 on 2010-10-14 08:01:33Z by davidxu In kern_sigtimedwait(), move initialization code out of process lock, instead of using SIGISMEMBER to test every interesting signal, just unmask the signal set and let cursig() return one, get the signal after it returns, call reschedule_signal() after signals are blocked again. In kern_sigprocmask(), don't call reschedule_signal() when it is unnecessary. In reschedule_signal(), replace SIGISEMPTY() + SIGISMEMBER() with sig_ffs(), rename variable 'i' to sig. Revision Changes Path 1.402 +86 -103 src/sys/kern/kern_sig.c