diff --git a/src/condition.cpp b/src/condition.cpp index a301436b..acd1676e 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -169,16 +169,16 @@ void condition_impl::notify_all() res = ReleaseSemaphore(reinterpret_cast(m_gate), 1, 0); assert(res); } + } - res = ReleaseMutex(reinterpret_cast(m_mutex)); + res = ReleaseMutex(reinterpret_cast(m_mutex)); + assert(res); + + if (signals) + { + res = ReleaseSemaphore(reinterpret_cast(m_queue), signals, + 0); assert(res); - - if (signals) - { - res = ReleaseSemaphore(reinterpret_cast(m_queue), signals, - 0); - assert(res); - } } }