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

This commit is contained in:
Ben Harper 2019-10-07 12:19:58 -04:00 committed by Yury Selivanov
parent 303475e873
commit 321def805a
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;
@ -3247,6 +3248,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) {