diff options
Diffstat (limited to 'Objects/frameobject.c')
-rw-r--r-- | Objects/frameobject.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Objects/frameobject.c b/Objects/frameobject.c index 926a32a..2197e07 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -613,6 +613,10 @@ static PyGetSetDef frame_getsetlist[] = { static void frame_dealloc(PyFrameObject *f) { + /* It is the responsibility of the owning generator/coroutine + * to have cleared the generator pointer */ + assert(f->f_frame->generator == NULL); + if (_PyObject_GC_IS_TRACKED(f)) { _PyObject_GC_UNTRACK(f); } @@ -686,7 +690,6 @@ frame_clear(PyFrameObject *f, PyObject *Py_UNUSED(ignored)) } if (f->f_frame->generator) { _PyGen_Finalize(f->f_frame->generator); - assert(f->f_frame->generator == NULL); } (void)frame_tp_clear(f); Py_RETURN_NONE; |