mirror of https://github.com/python/cpython
[3.13] Update retroactive comments from GH-117741 (segfault in `FutureIter_dealloc`) (GH-121638) (GH-121642)
Update retroactive comments from GH-117741 (segfault in `FutureIter_dealloc`) (GH-121638)
Address comments
(cherry picked from commit 65fededf9c
)
Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
This commit is contained in:
parent
35f7155bc3
commit
15c875a57c
|
@ -354,16 +354,6 @@ asend().throw()
|
||||||
|
|
||||||
..
|
..
|
||||||
|
|
||||||
.. date: 2024-04-13-18-59-25
|
|
||||||
.. gh-issue: 115874
|
|
||||||
.. nonce: c3xG-E
|
|
||||||
.. section: Core and Builtins
|
|
||||||
|
|
||||||
Fixed a possible segfault during garbage collection of
|
|
||||||
``_asyncio.FutureIter`` objects
|
|
||||||
|
|
||||||
..
|
|
||||||
|
|
||||||
.. date: 2024-04-13-16-55-53
|
.. date: 2024-04-13-16-55-53
|
||||||
.. gh-issue: 117536
|
.. gh-issue: 117536
|
||||||
.. nonce: xkVbfv
|
.. nonce: xkVbfv
|
||||||
|
@ -883,6 +873,16 @@ Alex Waygood.
|
||||||
|
|
||||||
..
|
..
|
||||||
|
|
||||||
|
.. date: 2024-04-13-18-59-25
|
||||||
|
.. gh-issue: 115874
|
||||||
|
.. nonce: c3xG-E
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fixed a possible segfault during garbage collection of
|
||||||
|
``_asyncio.FutureIter`` objects. Patch by Savannah Ostrowski.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
.. date: 2024-04-13-01-45-15
|
.. date: 2024-04-13-01-45-15
|
||||||
.. gh-issue: 115060
|
.. gh-issue: 115060
|
||||||
.. nonce: IxoM03
|
.. nonce: IxoM03
|
||||||
|
|
|
@ -1602,7 +1602,6 @@ FutureIter_dealloc(futureiterobject *it)
|
||||||
{
|
{
|
||||||
PyTypeObject *tp = Py_TYPE(it);
|
PyTypeObject *tp = Py_TYPE(it);
|
||||||
|
|
||||||
// FutureIter is a heap type so any subclass must also be a heap type.
|
|
||||||
assert(_PyType_HasFeature(tp, Py_TPFLAGS_HEAPTYPE));
|
assert(_PyType_HasFeature(tp, Py_TPFLAGS_HEAPTYPE));
|
||||||
|
|
||||||
PyObject *module = ((PyHeapTypeObject*)tp)->ht_module;
|
PyObject *module = ((PyHeapTypeObject*)tp)->ht_module;
|
||||||
|
@ -1613,8 +1612,6 @@ FutureIter_dealloc(futureiterobject *it)
|
||||||
|
|
||||||
// GH-115874: We can't use PyType_GetModuleByDef here as the type might have
|
// GH-115874: We can't use PyType_GetModuleByDef here as the type might have
|
||||||
// already been cleared, which is also why we must check if ht_module != NULL.
|
// already been cleared, which is also why we must check if ht_module != NULL.
|
||||||
// Due to this restriction, subclasses that belong to a different module
|
|
||||||
// will not be able to use the free list.
|
|
||||||
if (module && _PyModule_GetDef(module) == &_asynciomodule) {
|
if (module && _PyModule_GetDef(module) == &_asynciomodule) {
|
||||||
state = get_asyncio_state(module);
|
state = get_asyncio_state(module);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue