bpo-36356: Fix memory leak in _asynciomodule.c (GH-16598)

(cherry picked from commit 321def805a)

Co-authored-by: Ben Harper <btharper1221@gmail.com>
This commit is contained in:
Miss Islington (bot) 2019-10-07 09:38:00 -07:00 committed by GitHub
parent 985ec986e8
commit 13915a3100
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 0 deletions

View File

@ -33,6 +33,7 @@ static PyObject *asyncio_task_repr_info_func;
static PyObject *asyncio_InvalidStateError; static PyObject *asyncio_InvalidStateError;
static PyObject *asyncio_CancelledError; static PyObject *asyncio_CancelledError;
static PyObject *context_kwname; static PyObject *context_kwname;
static int module_initialized;
static PyObject *cached_running_holder; static PyObject *cached_running_holder;
static volatile uint64_t cached_running_holder_tsid; static volatile uint64_t cached_running_holder_tsid;
@ -3254,6 +3255,12 @@ module_init(void)
if (asyncio_mod == NULL) { if (asyncio_mod == NULL) {
goto fail; goto fail;
} }
if (module_initialized != 0) {
return 0;
}
else {
module_initialized = 1;
}
current_tasks = PyDict_New(); current_tasks = PyDict_New();
if (current_tasks == NULL) { if (current_tasks == NULL) {