[SPAM] - Re: [c++-pthreads] Re: FW: RE: Re: I'm Lost - Email found in subject

Ted Baker baker at cs.fsu.edu
Mon Mar 13 20:35:09 UTC 2006


Maybe two different meanings of "back out"?

a) back out = work your way out of the nest of active subprogram
   calls, doing appropriate cleanups

b) back out = stop the cancellation, i.e.,
   stop processing the cancellation, and let the thread resume
   normal execution

Doing (b) would mean not completing (a).
I think Ulrich and some others expect (a) will always complete,
and so would not like to allow (b).

--Ted

On Thu, Mar 09, 2006 at 08:24:40AM -0800, David Abrahams wrote:
> Jason Merrill <jason at redhat.com> writes:
> 
> >> As far as I remember, Ulrich is the only person who has really argued
> >> that it is unambiguously wrong to consider the situation in which a
> >> thread catches a cancellation exception.
> >
> > I don't think he's opposed to catching it, just to doing anything that 
> > would involve backing out of the cancellation once it's started.
> 
> The inability to do that would prevent several systems that Dave
> B. and I have cited from working properly.  These systems, if allowed
> to "back out" from a language/library point-of-view, will unwind
> completely and terminate the thread as though there was no logical
> "backing out," but otherwise will exhibit undefined behavior.  So I
> don't think preventing "backing out" at any level that can be enforced
> by the language or library is tenable if you actually want
> cancellation to be able to cancel threads.
> 
> -- 
> Dave Abrahams
> Boost Consulting
> www.boost-consulting.com



More information about the c++-pthreads mailing list