bpo-38785: Prevent asyncio from crashing  (GH-17144)


if parent `__init__` is not called from a constructor of object derived from `asyncio.Future`

https://bugs.python.org/issue38785
(cherry picked from commit dad6be5ffe48beb74fad78cf758b886afddc7aed)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c
index 5261ed3..88b834c 100644
--- a/Modules/_asynciomodule.c
+++ b/Modules/_asynciomodule.c
@@ -1092,6 +1092,7 @@
 _asyncio_Future_get_loop_impl(FutureObj *self)
 /*[clinic end generated code: output=119b6ea0c9816c3f input=cba48c2136c79d1f]*/
 {
+    ENSURE_FUTURE_ALIVE(self)
     Py_INCREF(self->fut_loop);
     return self->fut_loop;
 }