Boost logo

Boost :

Subject: Re: [boost] [locale] review part 2.2: source
From: Artyom (artyomtnk_at_[hidden])
Date: 2011-04-18 08:25:57


> > Not really
> >
> > I had a discussion with a professor an expert in
> > this area, no problems when mutexes are full
> > memory barriers and they are.
>
> I'm not an expert, but there is no ReadRead/acquire barrier
> in case if table_is_ready is true. IIUC, it would be a problem
> if you are targeting IA-64 using non-msvc or msvc before 8.0 (2005).
> Could you detect and #error on such arch/compiler combinations?
>

Mutex acquisition and release is full memory barrier.

> > This mutexes are explicitly globally initialized
> > later.
> >
> > So all such things should be solved on library start.
>
> Some compilers might not execute init::init() ctor as
> the do_init variable is not used. Also, could you comment
> your assumptions in the code?
>

I'm not aware of such compilers and if they exist
they are probably buggy.

Artyom


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