From owner-cvs-src@FreeBSD.ORG Thu Jul 17 15:52:57 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 2768237B401; Thu, 17 Jul 2003 15:52:57 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD33D43F85; Thu, 17 Jul 2003 15:52:56 -0700 (PDT) (envelope-from davidxu@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 h6HMqu0U028717; Thu, 17 Jul 2003 15:52:56 -0700 (PDT) (envelope-from davidxu@repoman.freebsd.org) Received: (from davidxu@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6HMqtRv028716; Thu, 17 Jul 2003 15:52:55 -0700 (PDT) Message-Id: <200307172252.h6HMqtRv028716@repoman.freebsd.org> From: David Xu Date: Thu, 17 Jul 2003 15:52:55 -0700 (PDT) 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: Thu, 17 Jul 2003 22:52:57 -0000 davidxu 2003/07/17 15:52:55 PDT FreeBSD src repository Modified files: sys/kern kern_sig.c Log: Fix sigwait to conform to POSIX. When a signal is being delivered to process, first find a sigwait thread to deliver, POSIX's argument is speed of delivering signal to sigwait thread is faster than other ways. A signal in its wait set will cause sigwait to return the signal number, a signal not in its wait set but in not blocked by the thread also causes sigwait to return, but sigwait returns EINTR, sigwait is oneshot operation, only one signal can be delivered to its wait set, when a signal is delivered to the sigwait thread, the thread's sigwait state is canceled. Revision Changes Path 1.252 +109 -67 src/sys/kern/kern_sig.c