return;
}
msgs->wait_not_in_use(); /* leaves fides_mutex set */
+ /* Note get_closing() does not lock because we are already locked */
+ if (msgs->get_closing()) {
+ msgs->unlock();
+ return;
+ }
msgs->set_closing();
msgs->unlock();
void clear_in_use() { lock(); m_in_use=false; unlock(); }
void set_in_use() { wait_not_in_use(); m_in_use=true; unlock(); }
void set_closing() { m_closing=true; }
+ bool get_closing() { return m_closing; }
void clear_closing() { lock(); m_closing=false; unlock(); }
bool is_closing() { lock(); bool rtn=m_closing; unlock(); return rtn; }