[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Warning: Unstable POSIX threads support comitted to CVS
From: |
Mikael Djurfeldt |
Subject: |
Re: Warning: Unstable POSIX threads support comitted to CVS |
Date: |
Mon, 09 Dec 2002 18:40:40 +0100 |
User-agent: |
Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu) |
Marius Vollmer <address@hidden> writes:
> Mikael Djurfeldt <address@hidden> writes:
>
>> It is very irritating that signals are delivered to whatever thread
>> happens to run for the moment.
>
> Do you refer to the execution of POSIX signal handlers or to the
> execution of Scheme signal handlers?
With "delivered" I'm thinking of "end-point" delivery, that is
execution of Scheme signal handlers. I'm thinking of channeling all
signals to a particular target thread (which becomes the one to run
its handlers until the target is switched).
> That is, signals-plus-threads are quite nasty on Linux. I think we
> should have a dedicated signal handling thread that polls for signals
> and marks the relevant system asyncs when they arrive.
That sounds like a good solution. Are there particular reasons why a
dedicated thread is needed rather than that an arbitrary POSIX signal
handler of an arbitrary receives the signal sets the asyncs of the
"foreground" thread?
I guess one such reason could be that we, in that case, could block
signals for all threads except the signal one, with the benefit that a
particular signal is only received "once" (rather than getting a
"barrage" of async marks at asyncronous points in time), right?
M