Jean Brouwers added the comment: Using atexit() to install the destructor function does not help. The function in not called when 3.0a1 exits, but with 2.5.1 it is. Same behavior on Linux and MacOS X.
Btw, that would mean that any C extension which uses atexit() directly may be affected by this issue. Running python with the debugger shows that 3.0a1 and 2.5.1 both exit thru exit() and not _exit(). A breakpoint at _exit is hit, but the call originates from exit and not anywhere in the python binary. There is a new atexitmodule.c in 3.0a1 which did not exits in 2.5.1. But that is handling the atexit functionality at the Python level and not C. This man page <http://linux.die.net/man/3/atexit> mentions that all registered atexit functions are removed after a fork+exec. But breakpoints set at fork, fork1, forkpty and vfork are never hit by 3.0a1. That is as far as I got. __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue1329> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com