Skip to content

Commit da80ed2

Browse files
committed
perf(genobject): skip asend() finalizer after it was awaited
1 parent fd30538 commit da80ed2

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

‎Objects/genobject.c‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2017,7 +2017,10 @@ async_gen_asend_dealloc(PyObject *self)
20172017
assert(PyAsyncGenASend_CheckExact(self));
20182018
PyAsyncGenASend *ags = _PyAsyncGenASend_CAST(self);
20192019

2020-
if (PyObject_CallFinalizerFromDealloc(self)) {
2020+
// The finalizer only warns about an asend() that was never awaited.
2021+
if (ags->ags_state == AWAITABLE_STATE_INIT
2022+
&& PyObject_CallFinalizerFromDealloc(self))
2023+
{
20212024
return;
20222025
}
20232026

0 commit comments

Comments
 (0)