[c++-pthreads] Re: pthread_cancel and EH: let's try this again

Gabriel Dos Reis gdr at integrable-solutions.net
Thu Jul 21 01:41:45 UTC 2005


Mark Mitchell <mark at codesourcery.com> writes:

| Nathan (Jasper) Myers wrote:
| >  * During the lifetime of C, the semantics of destructors and catch
| > blocks are undefined if the thread is cancelled and a POSIX C
| > cancellation point is encountered.  Any cleanup ends at the scope
| > of C, and control leaves this scope via an ordinary exception.
| >     * Outside the scope of a cancellation_context, the effect of
| > pthread_cleanup_push etc. is undefined.
| 
| It sounds like you're coming up with entirely new thread semantics
| that have nothing much to do with POSIX thread cancellation, in that
| they seem to leave the POSIX thread cancellation behavior undefined.
| 
| The "pthreads" in "c++-pthreads" is specifically because the charter
| for this list is to work out how to combine C++ and *POSIX* threads.
| Any proposal that does not handle POSIX threads is out-of-scope.  If
| you can generalize that to handle all threads, great -- but the
| primary goal is to determine the behavior of a C++ program that uses
| POSIX threads.

And I would add that any semantics makes a dichotomy between C++ and
C frames become unmanageable, less useful in practice.

-- Gaby



More information about the c++-pthreads mailing list