This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: C++ EH vs Forced Unwinding, Round 3


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


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