Subject: Re: [boost] Notice: Boost.Atomic (atomic operations library)
From: Helge Bahmann (hcb_at_[hidden])
Date: 2009-11-30 12:25:33
Am Monday 30 November 2009 17:33:03 schrieb Zachary Turner:
> On Sun, Nov 29, 2009 at 4:49 PM, Helge Bahmann <hcb_at_[hidden]> wrote:
> > It contains some entirely untested support for building implementations
> > from CAS
> > operations on other systems
okay this was badly worded -- the infrastructure for building atomic
operations from just a single platform-specific CAS operation is finished and
well tested, it is just that I do not have every conceivable compiler/os
combination available to test if some particular platform-CAS works (or even
compiles). In particular, I have no windows system available to me for
testing, so things will take some time as I constantly have to ask others
helping me out for implementation and/or testing.
If however, by sheer luck, I have managed to hit the right ifdef/include
combination required for _InterlockedCompareExchange on the first attempt and
without any compile-testing, then it will compile and run correctly already.
> > (e.g. _InterlockedCompareExchange on win), so
> > I would greatly appreciate any feedback if it works/doesn't on any
> > particular platform.
> Just to clarify, delegating to Interlocked* API on windows is going to be
> an officially supported feature of the API, but currently just isn't tested
> well enough right? I'm just unclear if it's going to be officially
> supported, or if this is more like experimental and maybe not officially
> supported in the first release.
I would not dare calling something a "release" that didn't support the
_Interlocked* family of operations ;) But I'm optimistic that this will
probably be sorted out by the end of the week -- and there will be a properly
optimized implementation using all of the _Interlocked* functions instead of
always falling back to _InterlockedCompareExchange.