Andrew Lewycky <[EMAIL PROTECTED]> writes:

> If you want to send a signal to a specific thread, use pthread_kill. This
> can only be done from another thread, so we could dedicate a thread to
> dispatching signals from the wineserver to wine threads.

I don't like this. It quickly becomes very problematic if the server
has to synchronize with a helper thread in every process. Besides we
already create too many threads (and linuxthreads is not going to help
here); at the present we use 4 threads plus the server simply to run
Solitaire, that's already too much.

> I think it's a non issue. Originally I thought that getting a signal and
> longjmping repeatedly out would eventually exhaust the kernel stack. Silly
> me. linuxthreads keeps track of when we are in a signal handler, but it
> seems to only use that for an optimisation. The only other catch is that
> if somebody calls CreateThread while on the signal stack, the child will
> inherit the signal stack and although it turns it off ASAP, we will have
> trouble if a signal comes in first.

This sounds like a kernel bug. A cloned child should not inherit the
signal stack IMO.

-- 
Alexandre Julliard
[EMAIL PROTECTED]

Reply via email to