This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: exception handling predicament


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."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]