exception handling predicament
Andreas Schwab
schwab@linux-m68k.org
Fri Aug 19 17:12:00 GMT 2011
David Miller <davem@davemloft.net> writes:
> It should also not cover lll_futex_timed_wait() because that's an
> inline asm and we haven't passed -fnon-call-exceptions to GCC.
GCC should probably provide an attribute that marks an asm as throwing.
> The truth is that __cleanup__ doesn't provide the semantics we want.
>
> The cancel signal (and thus since we're in async mode, the unwind) can
> occur at any instruction in this code sequence. Not just instructions
> that "might trap"
>
> They all "might trap." It could even happen during one of the
> __nothrow__ functions we call.
There are only very few functions that are async-cancel safe, so this
cannot happen (i.e. undefined behaviour).
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Libc-alpha
mailing list