with self.assertRaises(AttributeError):
del task._log_destroy_pending
+ def test_get_context_uninitialized_segfault(self):
+ # https://github.com/python/cpython/issues/154871
+
+ class UninitializedTask(self.Task):
+ def __init__(self, *args, **kwargs):
+ pass
+
+ task = UninitializedTask()
+ self.assertIsNone(task.get_context())
+
@unittest.skipUnless(hasattr(futures, '_CFuture') and
hasattr(tasks, '_CTask'),
_asyncio_Task_get_context_impl(TaskObj *self)
/*[clinic end generated code: output=6996f53d3dc01aef input=87c0b209b8fceeeb]*/
{
- return Py_NewRef(self->task_context);
+ if (self->task_context) {
+ return Py_NewRef(self->task_context);
+ }
+
+ Py_RETURN_NONE;
}
/*[clinic input]