bpo-36356: pymain_free() calls _PyRuntime_Finalize() (GH-12435)

Ensure that _PyRuntime_Finalize() is always call. This change fix a
few memory leaks when running "python3 -V".
This commit is contained in:
Victor Stinner 2019-03-19 14:53:58 +01:00 committed by GitHub
parent fecc4f2b47
commit f5f336a819
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 0 deletions

View File

@ -184,6 +184,8 @@ PyAPI_FUNC(void) _PyRuntimeState_ReInitThreads(void);
Return NULL on success, or return an error message on failure. */
PyAPI_FUNC(_PyInitError) _PyRuntime_Initialize(void);
PyAPI_FUNC(void) _PyRuntime_Finalize(void);
#define _Py_CURRENTLY_FINALIZING(tstate) \
(_PyRuntime.finalizing == tstate)

View File

@ -839,6 +839,7 @@ pymain_free(void)
_PyPathConfig_ClearGlobal();
_Py_ClearStandardStreamEncoding();
_Py_ClearArgcArgv();
_PyRuntime_Finalize();
}