
Since there are already synchronization primitives in Boost.Thread and in numerous other Boost libraries which roll their own, would it not be efficacious for Boost to develop a separate synchronization primitive library which then could be used by all other Boost libraries.
Well, Boost.Thread and Boost.Interprocess aren't the libraries where this synchronization should go? Or you propose to merge all synchronization utilities in a new library? I think that Boost.Threads will have a revision once the C++ committee decides the thread API. Other libraries use their own synchronization primitives because they don't want to link an external library or they don't want to have dependencies. The first reason can be solved with a header only implementation of Boost.Thread utilities, but the second reason will always be there, I'm afraid. Anyway, I think that all Boost libraries should try to use already developed Boost components, and if those don't fill the requirements, request changes. A header-only thread library can be one of such requests. Regards, Ion