I.e., only here fpu exceptions are enabled again. siglongjmp() does
not go through sigreturn(), and hence does not re-enable fpu
exceptions.
Looking further, it turns out that you can solve it by reinstalling
the SIGFPE signal handler after the signal occurred (see the
thread_enable_fpe calls in in setsigvec() in bsd/kern/kern_sig.c).
That also works fine now at least (under 10.5.5), but I seem to
remember that back in the days, if I did that I'd immediately get the
same exception again. Although that might have been with a homebrewn
setjmp rather than with sigsetjmp...
Jonas
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-dev/email@hidden