From: Ben Harper Date: Mon, 7 Oct 2019 16:19:58 +0000 (-0400) Subject: bpo-36356: Fix memory leak in _asynciomodule.c (GH-16598) X-Git-Tag: v3.9.0a1~246 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=321def805abc5b7c92c7e90ca90cb2434fdab855;p=thirdparty%2FPython%2Fcpython.git bpo-36356: Fix memory leak in _asynciomodule.c (GH-16598) --- diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index b67afd41768f..89b2fdea0f63 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -33,6 +33,7 @@ static PyObject *asyncio_task_repr_info_func; 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 @@ module_init(void) if (asyncio_mod == NULL) { goto fail; } + if (module_initialized != 0) { + return 0; + } + else { + module_initialized = 1; + } current_tasks = PyDict_New(); if (current_tasks == NULL) {