> It's true that this would (currently) slow down uthreads.  However, I
> suspect that uthreads may want to do its own signal-mask handling
> anyway (even though it currently doesn't).  On the other hand, if we
> made jmp_buf and struct sigcontext compatible, it could clean up the
> thread scheduler's inner workings.

Note that C9x requires longjmp() to leave the floating point
environment alone, so the full sigcontext must not be restored.
This doesn't prevent using sigreturn() to implement longjmp(),
but it guarantees that setjmp()/longjmp() can't be (ab)used to
implement full context switching.

Making jmp_buf the same as struct sigcontext would be a bit wasteful.

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to