C++ EH vs Forced Unwinding, Round 3
Mark Mitchell
mark@codesourcery.com
Fri May 2 21:10:00 GMT 2003
On Fri, 2003-05-02 at 13:48, Richard Henderson wrote:
> On Fri, May 02, 2003 at 10:55:46AM -0700, Mark Mitchell wrote:
> > Right. I would expect that libpthread would do:
> >
> > __thread_start (void* (*fp)(void*), void *arg) {
> > try {
> > return (*fp)(arg);
> > } catch (__thread_exception_type) {
> > // An unhandled thread cancellation exception.
> > // Proceed with cancellation.
> > }
> > }
>
> No, this isn't really sufficient. You skipped over the bit where
> it's non-negotiable that we retain control of the unwinding process
> with the _Unwind_ForceUnwind hook.
Sorry; why is that non-negotiable? I'm not sure why, in light of the
discussion, we don't just have cancellation points do an entirely
ordinary throw.
Anyhow...
> > Please XFAIL your new forced-unwinding test.
>
> It passes with the patch posted, because I *did* extend the ABI.
Ah, sorry, I didn't understand that.
This is the _Unwind_Resume_or_Rethrow bit; I understand now.
Please close the PR when this is in.
Thanks!
--
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC
More information about the Gcc-patches
mailing list