[Python-Dev] Deprecate sys.exitfunc?
arigo at tunes.org
Mon Aug 16 13:33:57 CEST 2004
On Sun, Aug 15, 2004 at 05:41:26PM -0400, Raymond Hettinger wrote:
> The atexit module does attempt to co-exist by introducing code to
> register a function in sys.exitfunc if it were defined before "import
> atexit" was called. However, this is unreliable because it depends on
> import order and the library is free to introduce an earlier "import
> atexit" which would break code relying on the co-existance mechanism.
Multiple well-written modules can use sys.exitfunc in a way that is
compatible. atexit is merely a glue to discourage non-well-written modules.
I'd say that atexit should be encouraged but there is nothing wrong with using
sys.exitfunc directly, if one is aware of the common patching pattern:
"save-old-value, replace-with-my-function, upon-call-invoke-saved-old-value".
More information about the Python-Dev