Boost C++ Libraries: Ticket #6266: c++11 compliance: thread destructor should call terminate if joinable https://svn.boost.org/trac10/ticket/6266 <p> In order to be standard compliant the thread destructor should call terminate if joinable instead of detaching the thread. </p> <p> "30.3.1.3 thread destructor [thread.thread.destr] </p> <p> ~thread(); </p> <p> If joinable() then terminate(), otherwise no effects. [Note: Either implicitly detaching or joining a joinable() thread in its destructor could result in difficult to debug correctness (for detach) or performance (for join) bugs encountered only when an exception is raised. Thus the programmer must ensure that the destructor is never executed while the thread is still joinable. — end note ]" </p> <p> This behavior is incompatible with the current version, so it shall be activated by a specific define, i.e., BOOST_THREAD_VERSION=2. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6266 Trac 1.4.3 viboes Thu, 15 Dec 2011 17:00:00 GMT summary changed https://svn.boost.org/trac10/ticket/6266#comment:1 https://svn.boost.org/trac10/ticket/6266#comment:1 <ul> <li><strong>summary</strong> <span class="trac-field-old">c++11 complicance: thread destructor should call terminate if joinable</span> → <span class="trac-field-new">c++11 compliance: thread destructor should call terminate if joinable</span> </li> </ul> Ticket viboes Thu, 05 Jan 2012 05:45:52 GMT owner, status changed https://svn.boost.org/trac10/ticket/6266#comment:2 https://svn.boost.org/trac10/ticket/6266#comment:2 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Anthony Williams</span> to <span class="trac-author">viboes</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket viboes Mon, 02 Apr 2012 16:30:50 GMT attachment set https://svn.boost.org/trac10/ticket/6266 https://svn.boost.org/trac10/ticket/6266 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">6266.patch</span> </li> </ul> Ticket viboes Mon, 02 Apr 2012 16:33:17 GMT milestone changed https://svn.boost.org/trac10/ticket/6266#comment:3 https://svn.boost.org/trac10/ticket/6266#comment:3 <ul> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.50.0</span> </li> </ul> <p> The previous patch contains the modifications for <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6269" title="#6269: Feature Requests: c++11 compliance: thread move assignment should call terminate if joinable (closed: fixed)">#6269</a> also. </p> <p> Committed revision <a class="changeset" href="https://svn.boost.org/trac10/changeset/77718" title="Thread: Added call to terminate if joinable for #6266 and #6269">[77718]</a>. </p> Ticket viboes Mon, 28 May 2012 15:16:42 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/6266#comment:4 https://svn.boost.org/trac10/ticket/6266#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Committed in release branch at <a class="changeset" href="https://svn.boost.org/trac10/changeset/78543" title="Merged boost.thread from trunk">[78543]</a> </p> Ticket