On Tue, Mar 28, 2000 at 08:27:30PM +0200, Robert de Vries wrote:
> On Tue, 28 Mar 2000, Stephen C. Tweedie wrote:
> > > sort of signal to all tasks in the group.
> >
> > You can do that anyway, in user space. Much cleaner.
>
> Sure you can, but the trick is to send one (1) signal to a group of tasks.
> Not n times the same signal to n tasks. IMHO, the POSIX semantics of
So the nonmanager threads do
sigaction(n,s)
=== save local copy of s,n,thread_id
real_sigaction(realprocessid(myid));
if unblocked a signal that is user_space pending
kill self with that signal
Now the information about who blocks what is available in user space
kill(gettpid(),n) where gettpid has been fixed to get the
root pid
=== find someone who is not blocking and
kill(someone,n)
if all threads block, then mark signal
as pending
-- --------------------------------------------------------- Victor Yodaiken FSMLabs: www.fsmlabs.com www.rtlinux.com FSMLabs is a servicemark and a service of VJY Associates L.L.C, New Mexico.- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:22 EST