From owner-cvs-all@FreeBSD.ORG Thu Jul 3 16:36:34 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 196A037B401; Thu, 3 Jul 2003 16:36:34 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E69C844011; Thu, 3 Jul 2003 16:36:29 -0700 (PDT) (envelope-from davidxu@freebsd.org) Received: from tiger (davidxu@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with SMTP id h63NaRUp017208; Thu, 3 Jul 2003 16:36:28 -0700 (PDT) (envelope-from davidxu@freebsd.org) Message-ID: <003901c341bc$5fbc5120$0701a8c0@tiger> From: "David Xu" To: "Mike Makonnen" , , , References: <200307031909.h63J9xvl070184@repoman.freebsd.org> Date: Fri, 4 Jul 2003 07:39:39 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Subject: Re: cvs commit: src/sys/kern kern_sig.c kern_thr.c kern_thread.c src/sys/sys signalvar.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: David Xu List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jul 2003 23:36:34 -0000 I think kse_thr_interrupt should use SIGTARGET_TD not SIGTARGET_P, if it is SIGTARGET_P, we will use kill(), not kse_thr_interrupt(). David Xu ----- Original Message -----=20 From: "Mike Makonnen" To: ; ; = Sent: Friday, July 04, 2003 3:09 AM Subject: cvs commit: src/sys/kern kern_sig.c kern_thr.c kern_thread.c = src/sys/sys signalvar.h > mtm 2003/07/03 12:09:59 PDT >=20 > FreeBSD src repository >=20 > Modified files: > sys/kern kern_sig.c kern_thr.c kern_thread.c=20 > sys/sys signalvar.h=20 > Log: > Signals sent specifically to a particular thread must > be delivered to that thread, regardless of whether it > has it masked or not. > =20 > Previously, if the targeted thread had the signal masked, > it would be put on the processes' siglist. If > another thread has the signal umasked or unmasks it before > the target, then the thread it was intended for would never > receive it. > =20 > This patch attempts to solve the problem by requiring callers > of tdsignal() to say whether the signal is for the thread or > for the process. If it is for the process, then normal processing > occurs and any thread that has it unmasked can receive it. > But if it is destined for a specific thread, it is put on > that thread's pending list regardless of whether it is currently > masked or not. > =20 > The new behaviour still needs more work, though. If the signal > is reposted for some reason it is always posted back to the > thread that handled it because the information regarding the > target of the signal has been lost by then. > =20 > Reviewed by: jdp, jeff, bde (style) > =20 > Revision Changes Path > 1.248 +14 -12 src/sys/kern/kern_sig.c > 1.11 +1 -5 src/sys/kern/kern_thr.c > 1.149 +1 -1 src/sys/kern/kern_thread.c > 1.63 +8 -1 src/sys/sys/signalvar.h >