From 46bd8737ab2ea15d644bfde42f1c24504259442e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 7 Oct 2019 09:38:00 -0700 Subject: [PATCH] bpo-36356: Fix memory leak in _asynciomodule.c (GH-16598) (cherry picked from commit 321def805abc5b7c92c7e90ca90cb2434fdab855) Co-authored-by: Ben Harper Reference:https://github.com/python/cpython/commit/13915a3100608f011b29da2f3716c990f523b631 Conflict:NA --- Modules/_asynciomodule.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index 6986802..4828e1c 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; @@ -3244,6 +3245,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) { -- 2.27.0