[Python-3000] atexit module problems/questions

skip at pobox.com skip at pobox.com
Sat Aug 4 23:41:26 CEST 2007


During the recast of the atexit module into C it grew _clear and unregister
functions.  I can understand that a clear function might be handy, but why
is it private?

Given that sys.exitfunc is gone is there a reason to have _run_exitfuncs?
Who's going to call it?

Finally, I can see a situation where you might register the same function
multiple times with different argument lists, yet unregister takes only the
function as the discriminator.  I think that's going to be of at-best
minimal use, and error-prone.  (A common use might be to register os.unlink
for various files the program created during its run.  Unregister would be
quite useless there.)  In GTK's gobject library, when you register idle or
timer functions an integer id is returned.  That id is what is used to later
remove that function.  If you decide to retainn unregister (I would vote to
remove it if it's not going to be fixed) I think you might as well break the
register function's api and return ncallbacks instead of the function.

Skip


More information about the Python-3000 mailing list