Date: Fri, 4 Jul 2003 07:39:39 +0800 From: "David Xu" <davidxu@freebsd.org> To: "Mike Makonnen" <mtm@freebsd.org>, <src-committers@freebsd.org>, <cvs-src@freebsd.org>, <cvs-all@freebsd.org> Subject: Re: cvs commit: src/sys/kern kern_sig.c kern_thr.c kern_thread.c src/sys/sys signalvar.h Message-ID: <003901c341bc$5fbc5120$0701a8c0@tiger> References: <200307031909.h63J9xvl070184@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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" <mtm@FreeBSD.org> To: <src-committers@FreeBSD.org>; <cvs-src@FreeBSD.org>; = <cvs-all@FreeBSD.org> 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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?003901c341bc$5fbc5120$0701a8c0>