|From:||"Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>|
|Date:||Sun, 04 Feb 2007 20:00:33 +0100|
:Matthew Dillon wrote:
:> Just as an aside, I seem to remember POSIX making a distinction between
:> 'global' signals and 'per-thread' signals. Something about a signal that
:> cannot be handled by a thread is queued globally and then processed by
:> the first thread that can take it, or something like that.
:The current code unconditionally (tries to) queue to the first lwp; the :next step will queue it on the first lwp that doesn't mask the signal, :and failing that, globally. Though again, that's a next-step :).
:> This would imply that we need to have a two-level signal delivery :> architecture (lwp layer and process layer).
:I guess so too. Simon already has some thoughts about is, we talked this :afternoon (while I was reviewing the patch).
:-- : Thomas E. Spanjaard
I think we want to avoid having to scan the LWP list for a process. It is almost certainly easier for the LWP itself to simply check both signal sets (the per-LWP set and the per-process set). We are only talking about a few instructions here... maybe a few nanoseconds in time.
-- Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\ Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ / Party Enjoy Relax | http://dragonflybsd.org Against HTML \ Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
Description: OpenPGP digital signature