Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2001-03-15 16:20:03


At 03:18 PM 3/15/2001, williamkempf_at_[hidden] wrote:

>I haven't missed the problem. The C++ "volatile" with platform
>specific memory barriers (a concept I've been considering for a later
>phase of Boost.Threads) will make "atomic_t" compliant on platforms
>that must have the poor "mutex implementation". In practice I expect
>we'll never really use the poor implementation.

Here is a question to ask yourself. Does the platform's native API provide
a call which correctly performs the function desired? Does that function
work correctly when called by various C++ programs?

If the answer is yes (as it usually is on modern operating systems), then
presumably compilers have used the licence granted by the C++ standard's
1.9 paragraph 6 to treat that function as "observable behavior". If they
didn't, you would not be able to safely call the various system API's from
C++.

So as long as a C++ program relies only on that "observable behavior" I'm
assuming we are OK.

For a system which doesn't guarantee even its own API's to work from C++,
then all bets are off.

Am I missing something?

--Beman


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk