0
0
mirror of https://github.com/python/cpython.git synced 2024-11-24 08:52:25 +01:00
cpython/Python
Nick Coghlan d5cacbb1d9 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.
2015-05-23 22:24:10 +10:00
..
clinic PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
_warnings.c merge 3.4 (#24096) 2015-05-03 11:29:58 -04:00
asdl.c
ast.c PEP 0492 -- Coroutines with async and await syntax. Issue #24017. 2015-05-11 22:57:16 -04:00
bltinmodule.c
ceval_gil.h
ceval.c Issue 24017: fix for "async with" refcounting 2015-05-13 15:54:02 +10:00
codecs.c Issue #24102: Fixed exception type checking in standard error handlers. 2015-05-18 16:10:40 +03:00
compile.c PEP 0492 -- Coroutines with async and await syntax. Issue #24017. 2015-05-11 22:57:16 -04:00
condvar.h
dtoa.c
dup2.c
dynamic_annotations.c
dynload_aix.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
dynload_dl.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
dynload_hpux.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
dynload_next.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
dynload_shlib.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
dynload_stub.c
dynload_win.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
errors.c
fileutils.c
formatter_unicode.c
frozen.c Issue #23911: Move path-based bootstrap code to a separate frozen module. 2015-05-02 19:15:18 -06:00
frozenmain.c
future.c PEP 479: Change StopIteration handling inside generators. 2015-05-09 11:44:30 -04:00
getargs.c
getcompiler.c
getcopyright.c
getopt.c
getplatform.c
getversion.c
graminit.c allow test node after ** in calls (closes #24176) 2015-05-16 09:44:45 -04:00
import.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
importdl.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
importdl.h PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
importlib_external.h PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
importlib.h PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
makeopcodetargets.py
marshal.c
modsupport.c
mysnprintf.c
mystrtoul.c
opcode_targets.h PEP 0492 -- Coroutines with async and await syntax. Issue #24017. 2015-05-11 22:57:16 -04:00
peephole.c PEP 0492 -- Coroutines with async and await syntax. Issue #24017. 2015-05-11 22:57:16 -04:00
pyarena.c
pyctype.c
pyfpe.c
pyhash.c
pylifecycle.c
pymath.c
pystate.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
pystrcmp.c
pystrhex.c
pystrtod.c
Python-ast.c PEP 0492 -- Coroutines with async and await syntax. Issue #24017. 2015-05-11 22:57:16 -04:00
pythonrun.c Issue #23911: Move path-based bootstrap code to a separate frozen module. 2015-05-02 19:15:18 -06:00
pytime.c
random.c
README
sigcheck.c
strdup.c
structmember.c
symtable.c PEP 0492 -- Coroutines with async and await syntax. Issue #24017. 2015-05-11 22:57:16 -04:00
sysmodule.c use our normal bracing style 2015-05-12 11:32:41 -04:00
thread_foobar.h
thread_nt.h
thread_pthread.h
thread.c
traceback.c

Miscellaneous source files for the main Python shared library