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