catch(...) and forced unwind

Jamie Lokier jamie@shareable.org
Thu Dec 18 19:06:00 GMT 2003


David Abrahams wrote:
> IIUC The 'C' lib functions are "throw()" when invoked from C++, so if
> pthreads mandates that C I/O functions throw in C++, I think your idea
> does violate pthreads.

If it's true that C library functions are throw(), even functions
which are cancellation points, then the rule needs to be that
_calling_ a throw() function disables cancellations for the duration
of the call.

This does seem to prevent deferred cancellations from ever being
delivered, alas.

-- Jamie



More information about the Gcc mailing list