]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] Update retroactive comments from GH-117741 (segfault in `FutureIter_dealloc...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 12 Jul 2024 09:00:09 +0000 (11:00 +0200)
committerGitHub <noreply@github.com>
Fri, 12 Jul 2024 09:00:09 +0000 (09:00 +0000)
Update retroactive comments from GH-117741 (segfault in `FutureIter_dealloc`) (GH-121638)

Address comments
(cherry picked from commit 65fededf9cc1780d5edbef8a6e0a7cf9bc15aea6)

Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
Misc/NEWS.d/3.13.0b1.rst
Modules/_asynciomodule.c

index ab5f24fe345af9fa1cdf00e49c16ffa4bd4831a4..57d1af844f61e43166d77ae8d35532b827fd77f5 100644 (file)
@@ -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
 .. gh-issue: 117536
 .. 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
 .. gh-issue: 115060
 .. nonce: IxoM03
index a26714f9755df5f0cd750e00a3124ab0b42f2ae8..04b5fc505c074fc74368e04d0544d756f1eaf01b 100644 (file)
@@ -1602,7 +1602,6 @@ FutureIter_dealloc(futureiterobject *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));
 
     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
     // 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) {
         state = get_asyncio_state(module);
     }