Boost C++ Libraries: Ticket #10721: boost::signals2 deadlock with pthread https://svn.boost.org/trac10/ticket/10721 <p> Hi, </p> <p> boost::signals2 releases the tracked pointers while holding the lock of the following connection_body; if a destructor of a tracked object tries to use this connection (for example through signal::empty() or connection::connected()) it enters a recursive lock on windows (works fine) and deadlocks with pthread. </p> <p> regards, Stefan </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10721 Trac 1.4.3 Stefan Bühler <buehler@…> Thu, 30 Oct 2014 13:41:09 GMT attachment set https://svn.boost.org/trac10/ticket/10721 https://svn.boost.org/trac10/ticket/10721 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">deadlock-boost-signals2.cpp</span> </li> </ul> Ticket Stefan Bühler <buehler@…> Thu, 30 Oct 2014 13:41:36 GMT attachment set https://svn.boost.org/trac10/ticket/10721 https://svn.boost.org/trac10/ticket/10721 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">slot_call_iterator.hpp.patch</span> </li> </ul> Ticket Stefan Bühler <buehler@…> Thu, 30 Oct 2014 13:42:28 GMT component changed; owner set https://svn.boost.org/trac10/ticket/10721#comment:1 https://svn.boost.org/trac10/ticket/10721#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Frank Mori Hess</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">signals2</span> </li> </ul> <p> The attached patch fixes the issue - I think it should be safe to release the tracked pointers outside the lock. </p> Ticket Frank Mori Hess Fri, 14 Nov 2014 19:20:04 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/10721#comment:2 https://svn.boost.org/trac10/ticket/10721#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Patch has been merged in git. </p> Ticket