id summary reporter owner description type status milestone component version severity resolution keywords cc 3735 thread_group::interrupt_all() is unreliable stoney@… Anthony Williams "In boost 1_41_0, thread_group::interrupt_all() occasionally fails to interrupt some threads due to a race condition when the threads are waiting on a condition_variable. The solution seems to be to have the interrupter lock the condition_variable's mutex before calling thread::interrupt(). While the fundamental problem is in thread::interrupt(), thread_group::interrupt_all() is a good way to expose the problem, since it happens only when multiple threads waiting on the same condition_variable are being interrupted in quick succession. A workaround is to have the object owning the condition_variable lock the associated mutex before calling thread_group::interrupt_all(). The attached example demonstrates both the problem and the workaround." Bugs closed Boost 1.42.0 thread Boost 1.41.0 Showstopper duplicate thread mutex interrupt race