From owner-cvs-src@FreeBSD.ORG Mon Mar 31 14:57:02 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6076637B401; Mon, 31 Mar 2003 14:57:02 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B18B43FBF; Mon, 31 Mar 2003 14:57:02 -0800 (PST) (envelope-from jeff@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h2VMv10U030074; Mon, 31 Mar 2003 14:57:01 -0800 (PST) (envelope-from jeff@repoman.freebsd.org) Received: (from jeff@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h2VMv1fc030073; Mon, 31 Mar 2003 14:57:01 -0800 (PST) Message-Id: <200303312257.h2VMv1fc030073@repoman.freebsd.org> From: Jeff Roberson Date: Mon, 31 Mar 2003 14:57:01 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern kern_sig.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Mar 2003 22:57:04 -0000 jeff 2003/03/31 14:57:01 PST FreeBSD src repository Modified files: sys/kern kern_sig.c Log: - The siglist in the proc holds signals that were blocked by all threads when they were delivered. In signotify() check to see if we have unblocked any of those signals and post them to the thread. - Use td_sigmask instead of p_sigmask in all cases. - In sigpending return both signals pending on the thread and proc. - Define a function, sigtd(), that finds the appropriate thread to deliver the signal to if psignal() has been called instead of tdsignal(). - Define a function, tdsignal(), that delivers a signal to a specific thread or if that thread has the signal blocked it may deliver it to the process where it will wait for a thread to unblock it. - Since we are delivering signals to a specific thread we do not need to abort the sleep of all threads. - Rename the old tdsignal() to tdsigwakeup(). - Save and restore the old signal mask to and from the thread. Revision Changes Path 1.220 +0 -0 src/sys/kern/kern_sig.c