[Python-checkins] [python/cpython] 2997fe: [3.6] bpo-30604: Move co_extra_freefuncs to interp...

GitHub noreply at github.com
Mon Jun 12 21:46:36 EDT 2017


  Branch: refs/heads/3.6
  Home:   https://github.com/python/cpython
  Commit: 2997fec01ee7300c6d5940e6c55e4ccf9f56f1b5
      https://github.com/python/cpython/commit/2997fec01ee7300c6d5940e6c55e4ccf9f56f1b5
  Author: Dino Viehland <dinov at microsoft.com>
  Date:   2017-06-12 (Mon, 12 Jun 2017)

  Changed paths:
    M Include/pystate.h
    M Lib/test/test_code.py
    M Misc/NEWS
    M Objects/codeobject.c
    M Python/ceval.c
    M Python/pystate.c

  Log Message:
  -----------
  [3.6] bpo-30604: Move co_extra_freefuncs to interpreter state to avoid crashes in threads (#2015)

* 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




More information about the Python-checkins mailing list