<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Python/pystate.c, branch misc-acks-comment</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-38858: _PyImport_FixupExtensionObject() handles subinterpreters (GH-17350)</title>
<updated>2019-11-22T17:52:27+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-22T17:52:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=82c83bd907409c287a5bd0d0f4598f2c0538f34d'/>
<id>82c83bd907409c287a5bd0d0f4598f2c0538f34d</id>
<content type='text'>
If _PyImport_FixupExtensionObject() is called from a subinterpreter,
leave extensions unchanged and don't copy the module dictionary
into def-&gt;m_base.m_copy.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If _PyImport_FixupExtensionObject() is called from a subinterpreter,
leave extensions unchanged and don't copy the module dictionary
into def-&gt;m_base.m_copy.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38858: Add _Py_IsMainInterpreter(tstate) (GH-17293)</title>
<updated>2019-11-20T16:34:39+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-20T16:34:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=fff7bbfdb6b7c143b73b6b4b6b40e828c101110c'/>
<id>fff7bbfdb6b7c143b73b6b4b6b40e828c101110c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36854: Move _PyRuntimeState.gc to PyInterpreterState (GH-17287)</title>
<updated>2019-11-20T11:25:50+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-20T11:25:50+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=7247407c35330f3f6292f1d40606b7ba6afd5700'/>
<id>7247407c35330f3f6292f1d40606b7ba6afd5700</id>
<content type='text'>
* Rename _PyGC_InitializeRuntime() to _PyGC_InitState()
* finalize_interp_clear() now also calls _PyGC_Fini() in
  subinterpreters (clear the GC state).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Rename _PyGC_InitializeRuntime() to _PyGC_InitState()
* finalize_interp_clear() now also calls _PyGC_Fini() in
  subinterpreters (clear the GC state).</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36854: Clear the current thread later (GH-17279)</title>
<updated>2019-11-20T10:17:17+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-20T10:17:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=9da7430675ceaeae5abeb9c9f7cd552b71b3a93a'/>
<id>9da7430675ceaeae5abeb9c9f7cd552b71b3a93a</id>
<content type='text'>
Clear the current thread later in the Python finalization.

* The PyInterpreterState_Delete() function is now responsible
  to call PyThreadState_Swap(NULL).
* The tstate_delete_common() function is now responsible to clear the
  "autoTSSKey" thread local storage and it only clears it once the
  thread state is fully cleared. It allows to still get the current
  thread from TSS in tstate_delete_common().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clear the current thread later in the Python finalization.

* The PyInterpreterState_Delete() function is now responsible
  to call PyThreadState_Swap(NULL).
* The tstate_delete_common() function is now responsible to clear the
  "autoTSSKey" thread local storage and it only clears it once the
  thread state is fully cleared. It allows to still get the current
  thread from TSS in tstate_delete_common().</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38858: Factorize Py_EndInterpreter() code (GH-17273)</title>
<updated>2019-11-20T09:38:34+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-20T09:38:34+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=7eee5beaf87be898a679278c480e8dd0df76d351'/>
<id>7eee5beaf87be898a679278c480e8dd0df76d351</id>
<content type='text'>
* Factorize code in common between Py_FinalizeEx() and
  Py_EndInterpreter().
* Py_EndInterpreter() now also calls _PyWarnings_Fini().
* Call _PyExc_Fini() and _PyGC_Fini() later in the finalization.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Factorize code in common between Py_FinalizeEx() and
  Py_EndInterpreter().
* Py_EndInterpreter() now also calls _PyWarnings_Fini().
* Call _PyExc_Fini() and _PyGC_Fini() later in the finalization.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36710: Add PyInterpreterState.runtime field (GH-17270)</title>
<updated>2019-11-20T01:27:56+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-20T01:27:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=01b1cc12e7c6a3d6a3d27ba7c731687d57aae92a'/>
<id>01b1cc12e7c6a3d6a3d27ba7c731687d57aae92a</id>
<content type='text'>
Add PyInterpreterState.runtime field: reference to the _PyRuntime
global variable. This field exists to not have to pass runtime in
addition to tstate to a function.  Get runtime from tstate:
tstate-&gt;interp-&gt;runtime.

Remove "_PyRuntimeState *runtime" parameter from functions already
taking a "PyThreadState *tstate" parameter.

_PyGC_Init() first parameter becomes "PyThreadState *tstate".</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add PyInterpreterState.runtime field: reference to the _PyRuntime
global variable. This field exists to not have to pass runtime in
addition to tstate to a function.  Get runtime from tstate:
tstate-&gt;interp-&gt;runtime.

Remove "_PyRuntimeState *runtime" parameter from functions already
taking a "PyThreadState *tstate" parameter.

_PyGC_Init() first parameter becomes "PyThreadState *tstate".</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38631: Avoid Py_FatalError() in handle_legacy_finalizers() (GH-17266)</title>
<updated>2019-11-20T00:18:11+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-20T00:18:11+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=444b39bb64aa894d3f1831210a8ce40042a5a532'/>
<id>444b39bb64aa894d3f1831210a8ce40042a5a532</id>
<content type='text'>
* Rename _PyGC_Initialize() to _PyGC_InitializeRuntime()
* Add _PyGC_Init(): initialize _PyRuntime.gc.garbage list
* Call _PyGC_Init() before _PyTypes_Init()</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Rename _PyGC_Initialize() to _PyGC_InitializeRuntime()
* Add _PyGC_Init(): initialize _PyRuntime.gc.garbage list
* Call _PyGC_Init() before _PyTypes_Init()</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38266: Revert bpo-37878: Make PyThreadState_DeleteCurrent() Internal (GH-16558)</title>
<updated>2019-10-04T11:35:42+00:00</updated>
<author>
<name>Joannah Nanjekye</name>
<email>33177550+nanjekyejoannah@users.noreply.github.com</email>
</author>
<published>2019-10-04T11:35:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=8855e47d09d4db1206c65b24efc8ad0df585ac46'/>
<id>8855e47d09d4db1206c65b24efc8ad0df585ac46</id>
<content type='text'>
Revert the removal of PyThreadState_DeleteCurrent() with documentation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Revert the removal of PyThreadState_DeleteCurrent() with documentation.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38304: PyConfig_InitPythonConfig() cannot fail anymore (GH-16509)</title>
<updated>2019-10-01T10:06:16+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@redhat.com</email>
</author>
<published>2019-10-01T10:06:16+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=8462a4936b3a551dc546a6adea04a70b0a07ca67'/>
<id>8462a4936b3a551dc546a6adea04a70b0a07ca67</id>
<content type='text'>
PyConfig_InitPythonConfig() and PyConfig_InitIsolatedConfig() no
longer return PyStatus: they cannot fail anymore.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PyConfig_InitPythonConfig() and PyConfig_InitIsolatedConfig() no
longer return PyStatus: they cannot fail anymore.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38304: Remove PyConfig.struct_size (GH-16500) (GH-16508)</title>
<updated>2019-10-01T08:56:37+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@redhat.com</email>
</author>
<published>2019-10-01T08:56:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=3c30a76f3d3c0dcc1fb4de097fa4a3a4c92c0b0b'/>
<id>3c30a76f3d3c0dcc1fb4de097fa4a3a4c92c0b0b</id>
<content type='text'>
For now, we'll rely on the fact that the config structures aren't covered by the stable ABI.

We may revisit this in the future if we further explore the idea of offering a stable embedding API.

(cherry picked from commit bdace21b769998396d0ccc8da99a8ca9b507bfdf)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For now, we'll rely on the fact that the config structures aren't covered by the stable ABI.

We may revisit this in the future if we further explore the idea of offering a stable embedding API.

(cherry picked from commit bdace21b769998396d0ccc8da99a8ca9b507bfdf)</pre>
</div>
</content>
</entry>
</feed>
