cvs commit: src/sys/kern kern_sig.c kern_thr.c kern_thread.c
src/sys/sys signalvar.h
David Xu
davidxu at freebsd.org
Thu Jul 3 16:36:34 PDT 2003
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 at FreeBSD.org>
To: <src-committers at FreeBSD.org>; <cvs-src at FreeBSD.org>; =
<cvs-all at 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
>
More information about the cvs-src
mailing list