
vicente.botet wrote:
Hi,
Currently there are two libraries defining mutex, condition variables and locks in Boost (Boost.Thread and Boost.Interprocess), which have similar interfaces but with some differences. This has as consequence that we can not interchange them.
Yes, it's a pity. However, the aim of Boost.Interprocess was to adopt the standard C++ interface. At the time Interprocess was designed there was not such interface and the interface Howard Hinnant proposed long time ago. I will surely, adapt them standard interface and deprecate Boost.Interprocess locks (but maintain them for backwards compatibility) so that all synchronization primitives can be reused, including future lock algorithms. Semaphores are different because they have different uses. If a programmer wants to use a semaphore as a mutex, I think he should write his own adapter, or in the future, write a concept_map. Regards, Ion