classification
Title: PEP 3121, 384 Refactoring applied to array module
Type: resource usage Stage: resolved
Components: Extension Modules Versions: Python 3.4
process
Status: closed Resolution: fixed
Dependencies: Superseder: Py_Finalize() doesn't clear all Python objects at exit
View: 1635741
Assigned To: Nosy List: Robin.Schreiber, asvetlov, meador.inge, vstinner
Priority: normal Keywords: pep3121

Created on 2012-08-15 15:13 by Robin.Schreiber, last changed 2020-11-19 14:02 by vstinner. This issue is now closed.

Files
File name Uploaded Description Edit
array_pep3121-385_v0.patch Robin.Schreiber, 2012-08-15 15:13
Messages (3)
msg168307 - (view) Author: Robin Schreiber (Robin.Schreiber) * (Python triager) Date: 2012-08-15 15:13
Changes proposed in PEP3121 and PEP384 have now been applied to the array module!
msg372081 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-06-22 09:40
The PEP 384 part is fixed by:

commit d5cacbb1d9c3edc02bf0ba01702e7c06da5bc318
Author: Nick Coghlan <ncoghlan@gmail.com>
Date:   Sat May 23 22:24:10 2015 +1000

    PEP 489: Multi-phase extension module initialization
    
    Known limitations of the current implementation:
    
    - documentation changes are incomplete
    - there's a reference leak I haven't tracked down yet
    
    The leak is most visible by running:
    
      ./python -m test -R3:3 test_importlib
    
    However, you can also see it by running:
    
      ./python -X showrefcount
    
    Importing the array or _testmultiphase modules, and
    then deleting them from both sys.modules and the local
    namespace shows significant increases in the total
    number of active references each cycle. By contrast,
    with _testcapi (which continues to use single-phase
    initialisation) the global refcounts stabilise after
    a couple of cycles.
msg381417 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-11-19 14:02
See bpo-41111 "Convert a few stdlib extensions to the limited C API".
History
Date User Action Args
2020-11-19 14:02:17vstinnersetstatus: open -> closed
superseder: Py_Finalize() doesn't clear all Python objects at exit
messages: + msg381417

resolution: fixed
stage: patch review -> resolved
2020-06-22 09:40:33vstinnersetnosy: + vstinner
messages: + msg372081
2012-11-08 13:34:31Robin.Schreibersetkeywords: + pep3121, - patch
2012-08-27 03:42:36belopolskylinkissue15787 dependencies
2012-08-17 16:42:02asvetlovsetnosy: + asvetlov
2012-08-16 02:19:41meador.ingesetstage: patch review
2012-08-16 02:19:19meador.ingesetnosy: + meador.inge
2012-08-15 15:13:46Robin.Schreibercreate