
i would be willing to co-maintain boost.atomic, but i really don't want to do it alone. a few days ago, i posted a message to see if there are possible volunteers to help maintaining boost.atomic. unfortunately i got zero (0) replies.
Tim, I must have missed that. I have volunteered a couple of times now. But see below.
cool!
That's too bad. It seems reasonably stable now for my platforms (x86[_64] Windows/Linux)
Matt, how have you measured the stability? One of my main concerns with Atomic is that it seems to lack any tests, so it is hard to know whether it is actually working correctly or not. (Doing the correct operation but non-atomically, or without the required memory barriers, would often appear to work perfectly.)
well, i am not sure, whether it can be tested for full correctness. i suppose all we can do is to compile-tests, for the rest we would have to review the code.
But: my suspicion is that it is now too late for Boost.Atomic to be useful. g++ already seems to have its own std::atomic implementation (since 4.4 apparently). With the impending ratification of C++0x we can surely expect Microsoft and LLVM to have their implementations ready soon (apparently LLVM says "The only major missing piece of C++'0x support [in libc++] is <atomic>". So by the time a group of replacement maintainers got their acts together, they/we might only be maintaining Boost.Atomic for the benefit of a few people who are unable to use newest compilers. That wouldn't motivate me much.
i would hope that it is to late for a boost.atomic, but at the moment it doesn't seem to be obsolete: * apple is afraid to ship any gcc newer than gcc-4.2 because of gpl-3 paranoia, so most system use gcc-4.2 or even worse, the llvm version of it. * gcc-4.6 (and probably earlier) cannot compile boost.lockfree with std::atomic i suspect, their implementation is still incomplete * the c++0x support of clang++ is rather limited. they basically ask you to install a patched version of libstdc++. and libc++ is listing <atomic> as the final remaining piece for quite some time :/ i cannot comment on the micro$oft side, but i regularly see workarounds for missing c99 features ... cheers, tim