[Python-Dev] module shutdown procedure (original) (raw)

Benjamin Peterson benjamin at python.org
Thu Jul 22 15:03:19 CEST 2010


2010/7/22 Antoine Pitrou <solipsis at pitrou.net>:

Le jeudi 22 juillet 2010 à 07:23 -0500, Benjamin Peterson a écrit :

2010/7/22 Antoine Pitrou <solipsis at pitrou.net>: > On Thu, 22 Jul 2010 08:51:57 +0100 > Brett Cannon <brett at python.org> wrote: >> >> That's an option. I just remember Tim bringing up something about that >> approach that didn't quite work as a complete replacement for del. >> >> Basically the whole setting a module's globals to None was done before gc >> came into the language. Now that it's there it seems that it might work to >> simply let gc clean up the module itself. > > There is a patch at http://bugs.python.org/issue812369 for GC-based > module shutdown, but it doesn't actually remove the setting of module > globals to None. I think further testing and experimentation would be > required to validate it.

Also, it seems to have been stalled by static globals in extension modules that the gc doesn't know about. Is it the reason why? With the new module creation API in 3.x, extension modules should be able to handle deletion of their own internal resources.

Well, then the reason is that no modules use it.

I also believe the new API is dangerous because modules can be deallocated before objects in them resulting in segfaults when those objects require globals stored in the module state.

-- Regards, Benjamin



More information about the Python-Dev mailing list