Boost logo

Boost Users :

Subject: Re: [Boost-users] at_thread_exit() never getting called
From: Peter Dimov (pdimov_at_[hidden])
Date: 2009-11-08 14:38:58


cowwoc wrote:
> One of my threads has the following logic:
>
> {
> at_thread_exit(myHook);
> while (!shutdownRequested)
> {
> // do stuff
> }
> }
>
> myHook()
> {
> shutdownRequested = true;
> }
>
> Following your scenario, doesn't this mean that the shutdown
> hook will never get executed? What will happen? Will exit() hang
> forever?

It will never get executed. The hook is executed AFTER the thread exits.

exit() will not hang, it will just terminate the thread (and all other
threads) as its very last step (after invoking the atexit handlers and
global/static destructors).


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net