- std::map<mp::Session,FrontendPtr>::iterator it;
-
- it = m_clients.find(package.session());
- if (it != m_clients.end())
- {
- if (package.session().is_closed())
- {
- m_clients.erase(it);
- }
- else
- {
- it->second->m_in_use = false;
- }
- m_cond_session_ready.notify_all();
- }
+
+ while (level != f->m_level)
+ f->m_cond_session_ready.wait(lock);
+ f->m_level--;
+ f->m_cond_session_ready.notify_all();