bpo-36356: Fix memory leak in _asynciomodule.c (GH-16598)
diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c
index b67afd4..89b2fde 100644
--- a/Modules/_asynciomodule.c
+++ b/Modules/_asynciomodule.c
@@ -33,6 +33,7 @@
static PyObject *asyncio_InvalidStateError;
static PyObject *asyncio_CancelledError;
static PyObject *context_kwname;
+static int module_initialized;
static PyObject *cached_running_holder;
static volatile uint64_t cached_running_holder_tsid;
@@ -3247,6 +3248,12 @@
if (asyncio_mod == NULL) {
goto fail;
}
+ if (module_initialized != 0) {
+ return 0;
+ }
+ else {
+ module_initialized = 1;
+ }
current_tasks = PyDict_New();
if (current_tasks == NULL) {