Staging
v0.5.1
https://github.com/python/cpython
Revision 2997fec01ee7300c6d5940e6c55e4ccf9f56f1b5 authored by Dino Viehland on 13 June 2017, 01:46:35 UTC, committed by Ned Deily on 13 June 2017, 01:46:35 UTC
* Move co_extra_freefuncs to interpreter state to avoid crashes in
multi-threaded scenarios involving deletion of code objects

* Don't require that extra be zero initialized

* Build test list instead of defining empty test class

* Ensure extra is always assigned on success

* Keep the old fields in the thread state object, just don't use them
Add new linked list of code extra objects on a per-interpreter basis
  so that interpreter state size isn't changed

* Rename __PyCodeExtraState_Get and add comment about it going away in 3.7
Fix sort order of import's in test_code.py

* Remove an extraneous space

* Remove docstrings for comments

* Touch up formatting

* Fix casing of coextra local

* Fix casing of another variable

* Prefix PyCodeExtraState with __ to match C API for getting it

* Update NEWS file for bpo-30604
1 parent f59cac4
History
Tip revision: 2997fec01ee7300c6d5940e6c55e4ccf9f56f1b5 authored by Dino Viehland on 13 June 2017, 01:46:35 UTC
[3.6] bpo-30604: Move co_extra_freefuncs to interpreter state to avoid crashes in threads (#2015)
Tip revision: 2997fec
File Mode Size
clinic
Python-ast.c -rw-r--r-- 263.2 KB
README -rw-r--r-- 62 bytes
_warnings.c -rw-r--r-- 34.8 KB
asdl.c -rw-r--r-- 1.4 KB
ast.c -rw-r--r-- 158.1 KB
bltinmodule.c -rw-r--r-- 80.5 KB
ceval.c -rw-r--r-- 169.7 KB
ceval_gil.h -rw-r--r-- 8.9 KB
codecs.c -rw-r--r-- 45.0 KB
compile.c -rw-r--r-- 151.7 KB
condvar.h -rw-r--r-- 11.0 KB
dtoa.c -rw-r--r-- 78.5 KB
dup2.c -rw-r--r-- 705 bytes
dynamic_annotations.c -rw-r--r-- 6.6 KB
dynload_aix.c -rw-r--r-- 5.7 KB
dynload_dl.c -rw-r--r-- 581 bytes
dynload_hpux.c -rw-r--r-- 1.9 KB
dynload_next.c -rw-r--r-- 3.9 KB
dynload_shlib.c -rw-r--r-- 3.3 KB
dynload_stub.c -rw-r--r-- 186 bytes
dynload_win.c -rw-r--r-- 10.0 KB
errors.c -rw-r--r-- 31.6 KB
fileutils.c -rw-r--r-- 42.1 KB
formatter_unicode.c -rw-r--r-- 50.1 KB
frozen.c -rw-r--r-- 1.7 KB
frozenmain.c -rw-r--r-- 2.7 KB
future.c -rw-r--r-- 4.9 KB
getargs.c -rw-r--r-- 72.2 KB
getcompiler.c -rw-r--r-- 366 bytes
getcopyright.c -rw-r--r-- 511 bytes
getopt.c -rw-r--r-- 3.4 KB
getplatform.c -rw-r--r-- 130 bytes
getversion.c -rw-r--r-- 289 bytes
graminit.c -rw-r--r-- 43.3 KB
import.c -rw-r--r-- 58.4 KB
importdl.c -rw-r--r-- 6.9 KB
importdl.h -rw-r--r-- 487 bytes
importlib.h -rw-r--r-- 96.3 KB
importlib_external.h -rw-r--r-- 129.7 KB
makeopcodetargets.py -rwxr-xr-x 1.6 KB
marshal.c -rw-r--r-- 49.7 KB
modsupport.c -rw-r--r-- 14.8 KB
mysnprintf.c -rw-r--r-- 3.3 KB
mystrtoul.c -rw-r--r-- 8.1 KB
opcode_targets.h -rw-r--r-- 6.3 KB
peephole.c -rw-r--r-- 27.1 KB
pyarena.c -rw-r--r-- 5.5 KB
pyctype.c -rw-r--r-- 7.7 KB
pyfpe.c -rw-r--r-- 621 bytes
pyhash.c -rw-r--r-- 12.9 KB
pylifecycle.c -rw-r--r-- 46.4 KB
pymath.c -rw-r--r-- 1.5 KB
pystate.c -rw-r--r-- 27.3 KB
pystrcmp.c -rw-r--r-- 613 bytes
pystrhex.c -rw-r--r-- 1.6 KB
pystrtod.c -rw-r--r-- 40.1 KB
pythonrun.c -rw-r--r-- 41.5 KB
pytime.c -rw-r--r-- 18.9 KB
random.c -rw-r--r-- 17.4 KB
sigcheck.c -rw-r--r-- 529 bytes
strdup.c -rw-r--r-- 247 bytes
structmember.c -rw-r--r-- 8.6 KB
symtable.c -rw-r--r-- 56.8 KB
sysmodule.c -rw-r--r-- 70.0 KB
thread.c -rw-r--r-- 12.4 KB
thread_foobar.h -rw-r--r-- 2.2 KB
thread_nt.h -rw-r--r-- 9.6 KB
thread_pthread.h -rw-r--r-- 17.6 KB
traceback.c -rw-r--r-- 22.3 KB
wordcode_helpers.h -rw-r--r-- 1.1 KB

README

back to top