[Python-Dev] Whether to call Py_Finalize when exiting from the child process of a fork from a spawned thread
greg.ewing at canterbury.ac.nz
Wed Sep 2 00:15:17 CEST 2009
Reid Kleckner wrote:
> On one hand, you may not want to call the user's atexit handlers
> multiple times from different processes if they have externally
> visible effects. On the other hand, people seem to assume that
> Py_Finalize will be called at process exit to do various cleanups. On
> the third hand, maybe Python could just clear out all the atexit
> handlers in the child after a fork. So what should the correct
> behavior be?
Seems to me there's no single answer to that, because some
kinds of atexit handlers may need to be called in child
processes, while others may need *not* to be.
Maybe we need a flag when registering an atexit handler
to indicate whether it should be kept across forks?
More information about the Python-Dev