Mercurial > cpython-lru_cache-weakref
diff Python/pythonrun.c @ 6117:98a282cfb013 legacy-trunk
Use a counter instead of a Boolean to check for initialized; n calls
to Py_Initialize will be undone by n calls to Py_Uninitialize.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 20 Aug 1997 22:40:18 +0000 |
| parents | 2c65bb6ab87c |
| children | 57045f51dd12 |
line wrap: on
line diff
--- a/Python/pythonrun.c Wed Aug 20 22:26:19 1997 +0000 +++ b/Python/pythonrun.c Wed Aug 20 22:40:18 1997 +0000 @@ -98,9 +98,8 @@ PyObject *bimod, *sysmod; char *p; - if (initialized) - Py_FatalError("Py_Initialize: already initialized"); - initialized = 1; + if (++initialized > 1) + return; if ((p = getenv("PYTHONDEBUG")) && *p != '\0') Py_DebugFlag = 1; @@ -166,9 +165,10 @@ call_sys_exitfunc(); - if (!initialized) + if (--initialized > 0) + return; + if (initialized < 0) Py_FatalError("Py_Finalize: not initialized"); - initialized = 0; tstate = PyThreadState_Get(); interp = tstate->interp;
