As the current post title saying about it, the boost boost::interprocess::interprocess_condition::wait is suppose to atomically unlock mutex while it waits, but it doesn't.
In the following code:
boost::interprocess::scoped_lock< boost::interprocess::interprocess_mutex > state_access_lock(impl->state->state_access_mut);
impl->state->state_access_cond.wait(state_access_lock);
In VS2010 into debugging mode i pressed pause and was surprised when i saw that state_access_lock is still locked while waiting.
But that's not what boost's doc is saying here.
Does anybody have a suggestion?
Thanks.