[Nick Jacobson] > I was looking at the atexit module the other day; it seems like an elegant > way to ensure that resources are cleaned up (that the garbage collector > doesn't take care of). > > But while you can mark functions to be called with the 'register' method, > there's no 'unregister' method to remove them from the stack of functions > to > be called. . . . > Alternatively, it would be great if there were a way to view the stack of > registered functions, and delete them from there.
Please file a feature request on SourceForge. Will mull it over for a while. My first impression is that try/finally is a better tool for the scenario you outlined. The issue with unregister() is that the order of clean-up calls is potentially significant. If the same function is listed more than once, there would be no clear-cut way to know which should be removed when unregister() is called. Likewise, I suspect that exposing the stack will create more pitfalls and risks than it could provide in benefits. Dealing with a stack of functions is likely to be clumsy at best. Raymond Hettinger _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com