Subject: Re: Sempahore on NetBSD work or no ?
To: Nathan J. Williams <nathanw@wasabisystems.com>
From: Jaromir Dolecek <jdolecek@netbsd.org>
List: current-users
Date: 01/27/2003 20:21:38
Nathan J. Williams wrote:
> David Maxwell <david@vex.net> writes:
>
> > I was under the impression that POSIX did not require that a signal
> > (such as SIGCHLD) be delivered to the thread that it would have, had the
> > thread been a process instead (i.e. a thread which called fork()).
>
> That's correct, there is no such requirement. There are all sorts of
> difficulties with making that guarantee; for example, the thread may
> no longer exist, and it precludes applications that want to use
> separate threads for signal handling. What POSIX says is that a signal
> may be delivered to any thread that does not have the signal blocked
> in its per-thread signal mask. If the programmer wants to arrange to
> recieve SIGCHLD in one thread, that can be done by blocking SIGCHLD in
> all *other* threads.
Another possibility is to use sigwait() - once I finish the code ;)
Jaromir
--
Jaromir Dolecek <jdolecek@NetBSD.org> http://www.NetBSD.org/
-=- We should be mindful of the potential goal, but as the tantric -=-
-=- Buddhist masters say, ``You may notice during meditation that you -=-
-=- sometimes levitate or glow. Do not let this distract you.'' -=-