mirror of
https://github.com/python/cpython.git
synced 2025-07-28 13:44:43 +00:00

Parse more env vars in Py_Main(): * Add more options to _PyCoreConfig: * faulthandler * tracemalloc * importtime * Move code to parse environment variables from _Py_InitializeCore() to Py_Main(). This change fixes a regression from Python 3.6: PYTHONUNBUFFERED is now read before calling pymain_init_stdio(). * _PyFaulthandler_Init() and _PyTraceMalloc_Init() now take an argument to decide if the module has to be enabled at startup. * tracemalloc_start() is now responsible to check the maximum number of frames. Other changes: * Cleanup Py_Main(): * Rename some pymain_xxx() subfunctions * Add pymain_run_python() subfunction * Cleanup Py_NewInterpreter() * _PyInterpreterState_Enable() now reports failure * init_hash_secret() now considers pyurandom() failure as an "user error": don't fail with abort(). * pymain_optlist_append() and pymain_strdup() now sets err on memory allocation failure.
41 lines
1.2 KiB
C
41 lines
1.2 KiB
C
#ifndef Py_LIMITED_API
|
|
#ifndef Py_PYDEBUG_H
|
|
#define Py_PYDEBUG_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* These global variable are defined in pylifecycle.c */
|
|
/* XXX (ncoghlan): move these declarations to pylifecycle.h? */
|
|
PyAPI_DATA(int) Py_DebugFlag;
|
|
PyAPI_DATA(int) Py_VerboseFlag;
|
|
PyAPI_DATA(int) Py_QuietFlag;
|
|
PyAPI_DATA(int) Py_InteractiveFlag;
|
|
PyAPI_DATA(int) Py_InspectFlag;
|
|
PyAPI_DATA(int) Py_OptimizeFlag;
|
|
PyAPI_DATA(int) Py_NoSiteFlag;
|
|
PyAPI_DATA(int) Py_BytesWarningFlag;
|
|
PyAPI_DATA(int) Py_UseClassExceptionsFlag;
|
|
PyAPI_DATA(int) Py_FrozenFlag;
|
|
PyAPI_DATA(int) Py_IgnoreEnvironmentFlag;
|
|
PyAPI_DATA(int) Py_DontWriteBytecodeFlag;
|
|
PyAPI_DATA(int) Py_NoUserSiteDirectory;
|
|
PyAPI_DATA(int) Py_UnbufferedStdioFlag;
|
|
PyAPI_DATA(int) Py_HashRandomizationFlag;
|
|
PyAPI_DATA(int) Py_IsolatedFlag;
|
|
|
|
#ifdef MS_WINDOWS
|
|
PyAPI_DATA(int) Py_LegacyWindowsFSEncodingFlag;
|
|
PyAPI_DATA(int) Py_LegacyWindowsStdioFlag;
|
|
#endif
|
|
|
|
/* this is a wrapper around getenv() that pays attention to
|
|
Py_IgnoreEnvironmentFlag. It should be used for getting variables like
|
|
PYTHONPATH and PYTHONHOME from the environment */
|
|
#define Py_GETENV(s) (Py_IgnoreEnvironmentFlag ? NULL : getenv(s))
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_PYDEBUG_H */
|
|
#endif /* Py_LIMITED_API */
|