Messages in this thread | | | Date | Tue, 28 Mar 2000 12:12:38 -0700 | From | yodaiken@fsmlabs ... | Subject | Re: Slow pthread_create() under high load |
| |
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/
| |