Boost logo

Boost :

Subject: Re: [boost] [locale] review part 2.2: source
From: Ilya Sokolov (ilyasokol_at_[hidden])
Date: 2011-04-19 00:07:24


On Mon, 18 Apr 2011 18:42:22 +0600, Peter Dimov <pdimov_at_[hidden]> wrote:

> Artyom wrote:
>
>> Mutex acquisition and release is full memory barrier.
>
> No, they are only guaranteed to have acquire and release
> semantics, respectively.

IIRC, acquire and full due to existence of try_lock.

> Double-checked locking is broken even if they're full barriers though.
> That said, MSVC from some version onwards, I forget which,

 From 8.0 (2005).

> guarantees that volatile reads have acquire semantics and that volatile
> writes have release semantics, and under this assumption, the code is
> correct.


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