
Alexander Terekhov wrote:
Lars Gullik Bjønnes wrote: [...]
http://www.boost.org/boost/detail/lwm_gcc.hpp is also broken.
Because of the sched_yield or something else?
Yes (plus the issue of memory barriers).
Perhaps the lwm_gcc should just be removed? (and lwm_linux)
Yes, definitely.
These two are off by default. I'll probably remove them as soon as I switch the Windows shared_ptr to the atomic version.
Current impl aside for a moment, pthread_mutex_t does some dispatching because it represents multiple mutex types. A "lightweight mutex" doesn't need really that.
True, and it doesn't need CV support either. That said, a pthread_mutex is close enough; the most important requirement for lightweight_mutex is "header-only" (which is why boost::mutex can't be used.)
Well, I guess that boost simply needs standard atomic<> template
For shared_ptr yes, but quick_allocator still needs an "ordinary" header-only mutex.