diff options
-rw-r--r-- | Modules/_decimal/_decimal.c | 8 | ||||
-rw-r--r-- | Tools/c-analyzer/cpython/ignored.tsv | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Modules/_decimal/_decimal.c b/Modules/_decimal/_decimal.c index b49ea3c..99ff9aa 100644 --- a/Modules/_decimal/_decimal.c +++ b/Modules/_decimal/_decimal.c @@ -5877,6 +5877,7 @@ error: return NULL; } +static int minalloc_is_set = 0; static int _decimal_exec(PyObject *m) @@ -5899,7 +5900,12 @@ _decimal_exec(PyObject *m) mpd_reallocfunc = PyMem_Realloc; mpd_callocfunc = mpd_callocfunc_em; mpd_free = PyMem_Free; - mpd_setminalloc(_Py_DEC_MINALLOC); + + /* Suppress the warning caused by multi-phase initialization */ + if (!minalloc_is_set) { + mpd_setminalloc(_Py_DEC_MINALLOC); + minalloc_is_set = 1; + } decimal_state *state = get_module_state(m); diff --git a/Tools/c-analyzer/cpython/ignored.tsv b/Tools/c-analyzer/cpython/ignored.tsv index f991164..ca656f0 100644 --- a/Tools/c-analyzer/cpython/ignored.tsv +++ b/Tools/c-analyzer/cpython/ignored.tsv @@ -166,6 +166,9 @@ Python/pylifecycle.c fatal_error reentrant - # explicitly protected, internal-only Modules/_xxinterpchannelsmodule.c - _globals - +# set once during module init +Modules/_decimal/_decimal.c - minalloc_is_set - + ################################## ## not significant |