A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2010-July/102195.html below:

[Python-Dev] module shutdown procedure

[Python-Dev] module shutdown procedure [Python-Dev] module shutdown procedureBenjamin 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

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4