This is the mail archive of the gcc@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: catch(...) and forced unwind


Matt Austern <austern@apple.com> writes:

> On Dec 16, 2003, at 12:05 PM, David Abrahams wrote:
>
>> Matt Austern <austern@apple.com> writes:
>>
>>> On Dec 16, 2003, at 4:23 AM, David Abrahams wrote:
>>>
>>>> Yes, though not directly.  Bill Kempf (the Boost.Threads guy)
>>>> communicated with him and extensively read his writings on the
>>>> subject
>>>> before he vaporized.  My understanding, from everything I've read, is
>>>> that David Butenhof believes that *any* asynchronous (forced, not
>>>> under user control) cancellation model is wrong.
>>>
>>> It's quite true that he thinks asynchronous cancellation is
>>> hard/impossible to use reliably.  You can see that in sectiom 5.3.2
>>> of his very clearly written book.
>>>
>>> But we aren't talking about asynchronous cancellation.  We're talking
>>> about deferred cancellation, which means that the thread may be
>>> cancelled at any cancellation point.
>>
>> I'm sorry, I was using a shorthand.  Let me be clear: a cancellation
>> exception which propagates from a function which is specified not to
>> throw is the "moral equivalent" of an async exception.  The reason
>> async exceptions are hard/impossible to use reliably is that
>> exceptions crop up in regions of code that would normally be nothrow.
>
> Yep, I appreciate your point.  I just wanted to make the distinction
> clear
> for those who weren't familiar with pthreads, especially since we were
> talking about David Butenhof's opinion.  He's very clear that he thinks
> asynchronous cancelation (in the technical POSIX sense) is an evil
> feature, but I haven't seen anything to suggest that he feels that way
> about deferred cancellation.

Right.  Nothing at all wrong with deferred cancellation per say.
Deferred cancellation good; violating contracts bad.

> I recommend his book, by the way, _Programming with POSIX
> Threads_.

Got it.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com


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