bpo-36356: Fix memory leak in _asynciomodule.c (GH-16598)
This commit is contained in:
parent
303475e873
commit
321def805a
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue