Message56796
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. |
|
| Date |
User |
Action |
Args |
| 2007-10-26 17:18:28 | MrJean1 | set | spambayes_score: 0.0104893 -> 0.0104893 recipients:
+ MrJean1, nnorwitz |
| 2007-10-26 17:18:28 | MrJean1 | set | spambayes_score: 0.0104893 -> 0.0104893 messageid: <1193419108.04.0.446922475461.issue1329@psf.upfronthosting.co.za> |
| 2007-10-26 17:18:28 | MrJean1 | link | issue1329 messages |
| 2007-10-26 17:18:27 | MrJean1 | create | |
|