id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 10387,Strange infinite wait in log\sinks\async_frontend.hpp,Antony Polukhin,Andrey Semashev,"`void asynchronous_sink::stop()` waits for eternity on `m_BlockCond.wait(lock);` line. When the call `m_BlockCond.wait(lock);` occurs according to VisualStudio debugger there is no others running threads, so no one could send a signal. I've failed to create a minimal test case, but here is what happens according to debugger: * main thread exits the main() and enters the internal `__crtExitProcess(code);` function (line 639 in `Microsoft Visual Studio 11.0\VC\crt\src\crt0dat.c`) * Somewhere in depths of `ExitProcess(status)` the `m_DedicatedFeedingThread` silently disappears. Looks like this happens at the point when `m_event.wait();` is called (line 115 in `boost\log\sinks\unbounded_fifo_queue.hpp`) * `void asynchronous_sink::stop()` is called from the main thread * main thread waits on `m_BlockCond.wait(lock);` for eternity (according to the debugger there's no more threads remain, only the main thread) If boost::log::core::get()->remove_all_sinks(); is called before exiting the main, application does not hang.",Bugs,closed,To Be Determined,log,Boost 1.56.0,Problem,wontfix,log async condition wait,