[c++-pthreads] Re: thread-safety definition

Wil Evers wil at bogo.xs4all.nl
Sat Jan 17 16:25:19 UTC 2004


David Abrahams wrote:

> Well, how do you propagate the cancellation to 'C'?  Surely not by
> letting the C++ exception leak out into C-land, except on very special
> systems where the C runtime knows about EH.  In that case, you have to
> finalize the exception and frob some 'C' cancellation reporting
> mechanism.

Very special systems?  The C binding for POSIX threads *requires* a 
stack unwinding mechanism.  In a pure C environment, it can be 
implemented by maintaining a runtime stack of registered cleanup 
routines.  In a mixed-language environment, the solution is to implement 
a common EH framework in the platform's ABI.

I was assuming the participants on this list were taking the existence 
of such a common EH framework for granted.  In such an environment, one 
should expect cancellation exceptions (and, perhaps, other exceptions 
too) thrown from code written in C++ to leak into C-land, and have 
compatible behaviour.

- Wil




More information about the c++-pthreads mailing list