diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index f94819cad24..9d2f83bf6c7 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -631,8 +631,6 @@ create_cancelled_error(FutureObj *fut) } else { exc = PyObject_CallOneArg(asyncio_CancelledError, msg); } - PyException_SetContext(exc, fut->fut_cancelled_exc); - Py_CLEAR(fut->fut_cancelled_exc); return exc; } @@ -640,6 +638,9 @@ static void future_set_cancelled_error(FutureObj *fut) { PyObject *exc = create_cancelled_error(fut); + if (exc == NULL) { + return; + } PyErr_SetObject(asyncio_CancelledError, exc); Py_DECREF(exc); }