Ove Kaaven wrote:
> On 29 Dec 2000, Alexandre Julliard wrote:
>
> > I'd find it cleaner to only block the signals that can actually cause
> > trouble (SIGALRM, SIGINT, SIGIO), and to not unblock them at all
> > during signal handling.
>
> Not unblock them? But wouldn't that cause problems when some signal
> handlers throw exceptions, and the exception handler decides to take the
> exception and thus force a stack unwind? I assumed that if that happened,
> then the normal sigaction mechanism wouldn't get its own chance to
> unblock. Or how does this work?
The way it is supposed to work is that you use sigsetjmp/siglongjmp
instead of setjmp/longjmp to jump out of a signal handler. The
siglongjmp call resets the blocked signal mask to be the same as at
the time of the sigsetjmp call.
We currently don't use sigsetjmp/siglongjmp for exceptions, but we
probably should ...
Bye,
Ulrich
--
Dr. Ulrich Weigand
[EMAIL PROTECTED]