Destructor?
Matt Nordhoff
mnordhoff at mattnordhoff.com
Tue Apr 8 03:28:40 EDT 2008
Matt Nordhoff wrote:
> Gabriel Rossetti wrote:
>> Hello everyone,
>>
>> we are writing an application that needs some cleanup to be done if the
>> application is quit, normally (normal termination) or by a signal like
>> SIGINT or SIGTERM. I know that the __del__ method exists, but unless I'm
>> mistaken there is no guarantee as of when it will be called, and some
>> objects may have already been released (at lease I've had trouble in the
>> past accessing certain objects from inside __del__, probably since the
>> parent class's __del__ has to be called first, then it's objects are
>> already released by the time I need to do something with them). Another
>> method would be to implement something using the signal module and have
>> a callback that does all the cleanup when the app. is
>> quit/terminated/interrupted and have all the child classes override that
>> with their cleanup code.
>>
>> What is the community's point of view on the subject?
>>
>> Thanks,
>> Gabriel
>
> atexit? <http://docs.python.org/lib/module-atexit.html>
>
> If it's only small things, there's try...finally, of course..
Huh, I totally didn't know that atexit is only run on normal
terminations. Oops. Never mind.
--
More information about the Python-list
mailing list