<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Python/context.c, branch enum-lost-fixes</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-43268: Pass interp rather than tstate to internal functions (GH-24580)</title>
<updated>2021-02-19T14:10:45+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2021-02-19T14:10:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=bcb094b41f7fe4dd1686c50891d85632fcf0d481'/>
<id>bcb094b41f7fe4dd1686c50891d85632fcf0d481</id>
<content type='text'>
Pass the current interpreter (interp) rather than the current Python
thread state (tstate) to internal functions which only use the
interpreter.

Modified functions:

* _PyXXX_Fini() and _PyXXX_ClearFreeList() functions
* _PyEval_SignalAsyncExc(), make_pending_calls()
* _PySys_GetObject(), sys_set_object(), sys_set_object_id(), sys_set_object_str()
* should_audit(), set_flags_from_config(), make_flags()
* _PyAtExit_Call()
* init_stdio_encoding()
* etc.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pass the current interpreter (interp) rather than the current Python
thread state (tstate) to internal functions which only use the
interpreter.

Modified functions:

* _PyXXX_Fini() and _PyXXX_ClearFreeList() functions
* _PyEval_SignalAsyncExc(), make_pending_calls()
* _PySys_GetObject(), sys_set_object(), sys_set_object_id(), sys_set_object_str()
* should_audit(), set_flags_from_config(), make_flags()
* _PyAtExit_Call()
* init_stdio_encoding()
* etc.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-43268: _Py_IsMainInterpreter() now expects interp (GH-24577)</title>
<updated>2021-02-19T12:33:31+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2021-02-19T12:33:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=101bf69ff18a946fed7c274f088878aaf85174cc'/>
<id>101bf69ff18a946fed7c274f088878aaf85174cc</id>
<content type='text'>
The _Py_IsMainInterpreter() function now expects interp rather than
tstate.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The _Py_IsMainInterpreter() function now expects interp rather than
tstate.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-1635741: _contextvars uses PyModule_AddType() (GH-23147)</title>
<updated>2020-11-04T15:33:55+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-11-04T15:33:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=988f1ec8d2643a0d00851903abcdae90d57ac0e6'/>
<id>988f1ec8d2643a0d00851903abcdae90d57ac0e6</id>
<content type='text'>
Replace PyModule_AddObject() with PyModule_AddType() in the
_contextvars module (Python-ast.c).

Add also the module name to _contextvars types name.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace PyModule_AddObject() with PyModule_AddType() in the
_contextvars module (Python-ast.c).

Add also the module name to _contextvars types name.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40521: Fix _PyContext_Fini() (GH-21103)</title>
<updated>2020-06-24T01:21:15+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-06-24T01:21:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=cde283d16d87024f455e45c6f1b4e4f7d8905836'/>
<id>cde283d16d87024f455e45c6f1b4e4f7d8905836</id>
<content type='text'>
Only clear _token_missing in the main interpreter.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only clear _token_missing in the main interpreter.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40521: Cleanup code of free lists (GH-21082)</title>
<updated>2020-06-23T14:40:40+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-06-23T14:40:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=522691c46e2ae51faaad5bbbce7d959dd61770df'/>
<id>522691c46e2ae51faaad5bbbce7d959dd61770df</id>
<content type='text'>
Add get_xxx_state() function to factorize duplicated code.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add get_xxx_state() function to factorize duplicated code.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40887: Don't use finalized free lists (GH-20700)</title>
<updated>2020-06-08T00:14:47+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-06-08T00:14:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=bcb198385dee469d630a184182df9dc1463e2c47'/>
<id>bcb198385dee469d630a184182df9dc1463e2c47</id>
<content type='text'>
In debug mode, ensure that free lists are no longer used after being
finalized. Set numfree to -1 in finalization functions
(eg. _PyList_Fini()), and then check that numfree is not equal to -1
before using a free list (e.g list_dealloc()).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In debug mode, ensure that free lists are no longer used after being
finalized. Set numfree to -1 in finalization functions
(eg. _PyList_Fini()), and then check that numfree is not equal to -1
before using a free list (e.g list_dealloc()).</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40521: Make context free list per-interpreter (GH-20644)</title>
<updated>2020-06-05T00:56:37+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-06-05T00:56:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=e005ead49b1ee2b1507ceea94e6f89c28ecf1f81'/>
<id>e005ead49b1ee2b1507ceea94e6f89c28ecf1f81</id>
<content type='text'>
Each interpreter now has its own context free list:

* Move context free list into PyInterpreterState.
* Add _Py_context_state structure.
* Add tstate parameter to _PyContext_ClearFreeList()
  and _PyContext_Fini().
* Pass tstate to clear_freelists().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Each interpreter now has its own context free list:

* Move context free list into PyInterpreterState.
* Add _Py_context_state structure.
* Add tstate parameter to _PyContext_ClearFreeList()
  and _PyContext_Fini().
* Pass tstate to clear_freelists().</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40428: Remove PyTuple_ClearFreeList() function (GH-19769)</title>
<updated>2020-04-29T00:29:20+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-29T00:29:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=ae00a5a88534fd45939f86c12e038da9fa6f9ed6'/>
<id>ae00a5a88534fd45939f86c12e038da9fa6f9ed6</id>
<content type='text'>
Remove the following function from the C API:

* PyAsyncGen_ClearFreeLists()
* PyContext_ClearFreeList()
* PyDict_ClearFreeList()
* PyFloat_ClearFreeList()
* PyFrame_ClearFreeList()
* PyList_ClearFreeList()
* PySet_ClearFreeList()
* PyTuple_ClearFreeList()

Make these functions private, move them to the internal C API and
change their return type to void.

Call explicitly PyGC_Collect() to free all free lists.

Note: PySet_ClearFreeList() did nothing.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the following function from the C API:

* PyAsyncGen_ClearFreeLists()
* PyContext_ClearFreeList()
* PyDict_ClearFreeList()
* PyFloat_ClearFreeList()
* PyFrame_ClearFreeList()
* PyList_ClearFreeList()
* PySet_ClearFreeList()
* PyTuple_ClearFreeList()

Make these functions private, move them to the internal C API and
change their return type to void.

Call explicitly PyGC_Collect() to free all free lists.

Note: PySet_ClearFreeList() did nothing.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40268: Remove unused structmember.h includes (GH-19530)</title>
<updated>2020-04-15T00:35:41+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-15T00:35:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=4a21e57fe55076c77b0ee454e1994ca544d09dc0'/>
<id>4a21e57fe55076c77b0ee454e1994ca544d09dc0</id>
<content type='text'>
If only offsetof() is needed: include stddef.h instead.

When structmember.h is used, add a comment explaining that
PyMemberDef is used.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If only offsetof() is needed: include stddef.h instead.

When structmember.h is used, add a comment explaining that
PyMemberDef is used.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39481: PEP 585 for dataclasses, mailbox, contextvars (GH-19425)</title>
<updated>2020-04-14T23:14:15+00:00</updated>
<author>
<name>Ethan Smith</name>
<email>ethan@ethanhs.me</email>
</author>
<published>2020-04-14T23:14:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=d01628e411752ee6849f862cae66a1c69fe512b7'/>
<id>d01628e411752ee6849f862cae66a1c69fe512b7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
