
Bugzilla from anthony.ajw@gmail.com wrote:
"vicente.botet"
writes: cowwoc wrote:
I am registering boost::this_thread::at_thread_exit() against one of my threads. When the main thread exits using "return 0" the at_thread_exit hook never gets invoked. Is this normal?
If you call exit() then thread exit handlers are not called. "return 0" in main() is the same as calling exit(0), so thread exit handlers are not called.
Anthony, I've see that you have started to integrate the patch for the thread attributes. Do you plan to integrate this patch also?
No.
If you call pthread_exit(0) from main() then thread exit handlers *will* be called. Of course, this doesn't exit the program until all other threads have terminated, whereas "return 0" kills the other threads.
Anthony
Anthony, The documentation is far from obvious on this point. It just reads: "This copy is invoked when the current thread exits (even if the thread has been interrupted)." Source: http://www.boost.org/doc/libs/1_40_0/doc/html/thread/thread_management.html#... I expect the function to get invoked if the thread exits for *any* reason, not just because the documentation says so but also because it's what I want from a coding point of view. Thanks, Gili -- View this message in context: http://www.nabble.com/at_thread_exit%28%29-never-getting-called-tp26053513p2... Sent from the Boost - Users mailing list archive at Nabble.com.