Boost C++ Libraries: Ticket #9055: spin_condition.notify()hangs if communication peer crashes https://svn.boost.org/trac10/ticket/9055 <p> When using interprocess_condition for signalling availability of new data in shared memory the call to notify_one() or notify_all() hangs forever if the communication peer terminates ungracefully. This happens because spin_condition.notify() calls m_enter_mut.lock(). </p> <p> A possible solution that we apply in our project is to provide notify methods with a timeout argument and a boolean return value that call m_enter_mut.timed_wait(abs_time). The return value can then be handled accordingly. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/9055 Trac 1.4.3 stepan.seycek@… Tue, 27 Aug 2013 16:54:38 GMT attachment set https://svn.boost.org/trac10/ticket/9055 https://svn.boost.org/trac10/ticket/9055 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">interprocess.patch</span> </li> </ul> <p> patch providing notify methods with timeout </p> Ticket