[cxx-abi-dev] gcc unwind ABI change for forced unwind

Dennis Handly dhandly at cup.hp.com
Thu May 22 06:57:17 UTC 2003


>From: Cary Coutant <cary at cup.hp.com>
>Many of you are probably aware of (and several of you participated in) 
>a discussion thread on the gcc-patches mailing list about a new unwind 
>API that Richard Henderson had to add to support forced unwinds 
>resulting from (among possibly other things) thread cancellation. I 
>thought it would be appropriate to bring this issue to this mailing list.

Jerry Harrow from the pre merger Compaq side of HP has some thoughts on
this.  He said they did something like this and at the base of each thread
was a "catch" block.

And for every throw spec, it quantum tunneled through them.

>As I understand the central issue, we would like to run C++ cleanups on 
>a thread cancellation, in addition to the cleanups registered through 
>the POSIX C bindings to the pthreads library. Cleanups resulting from 
>local automatic objects that need destruction are easy, but the problem 
>is what to do about catch(...) blocks. Richard's approach was to end 
>such blocks with a call to the new API, "_Unwind_Resume_or_Rethrow()", 
>if the block did not already end with a rethrow.
-cary

He didn't say anything about those?



More information about the cxx-abi-dev mailing list