[capi-sig] Register function to call at shutdown
mal at egenix.com
Fri Jan 18 10:45:38 CET 2008
On 2008-01-17 13:49, Hrvoje Niksic wrote:
> Is it possible to register a function to be called at finalization
> time? By finalization time I'm referring to the point at which Python
> is still operational, but is shutting down, for example the time when
> the modules are getting cleaned up. Functions registered with
> Py_AtExit get called too late, when it's no longer allowed to invoke
> any Python API function.
> I currently simulate this using an object whose __del__ invokes my
> function, and sticking that object in a private module. During module
> cleanup Python unhooks the object from the module, firing its __del__
> which calls my function. But I consider it a hack, and a fragile one
> at that -- if anyone deletes the object from the module, the function
> will be called too early. I'd prefer a cleaner way to deal with this
> if possible.
Why don't you use the standard atexit module for this ?
This still only works from Python, but you can add your
function in a much more reliable way.
Professional Python Services directly from the Source (#1, Jan 18 2008)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
More information about the capi-sig