Re: thread-safety definition
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: thread-safety definition
- To: c++-pthreads@xxxxxxxxxxxxxxxx
- Subject: Re: thread-safety definition
- From: David Abrahams <dave@xxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 08 Jan 2004 10:32:11 -0500
Dave Butenhof <David.Butenhof@xxxxxx> writes:
> David Abrahams wrote:
>
>>Mathieu Lacage <Mathieu.Lacage@xxxxxxxxxxxxxxx> writes:
>>
>>
>>>It looks like what everyone is trying to achieve here is a way for C++
>>> authors to write thread-safe libraries.
>>>
>>I think you missed something, or maybe the main thing. C++ authors
>>can already write thread-safe libraries.
>>
>>What I'm trying to achieve is to allow existing thread-safe library
>>code that wasn't written with POSIX cancellations in mind to be used
>>easily in a POSIX environment.
>>
>>
> Right. And I maintain that this is trivial AS LONG AS you can
> guarantee that threads running that unsafe code will never be
> cancelled. (This seems reasonable, since obviously threads running
> that code had never previously been subject to cancellation!) And it's
> IMPOSSIBLE if you cannot guarantee that.
Please don't shout, especially to emphasize something I disagree with
so fundamentally. ;-)
> The code must be analyzed and corrected, point by point; and the
> analysis (and possibly the correction as well) is easier if
> cancellation is a structured exception than if it's a return status
> handled in various "unique" ways by each routine.
If you make cancellations behave sufficiently like an ordinary C++
exception (either of Nathan's or Jason's models would do that I think)
then it's neither "IMPOSSIBLE" nor even difficult. A great deal of
thread-safe exception-safe C++ library code would behave perfectly
well under those conditions.
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com