diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-07-26 00:37:22 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-26 00:37:22 (GMT) |
commit | ecf411c59e33d3760dbfebf6d5b4b205bcc29d5a (patch) | |
tree | 43bd3ffa6039eeb5f19a493fa72f70b5e0544dcf /Include/pystate.h | |
parent | 48ed88a93bb0bbeaae9a4cfaa533e4edf13bcb51 (diff) | |
download | cpython-ecf411c59e33d3760dbfebf6d5b4b205bcc29d5a.zip cpython-ecf411c59e33d3760dbfebf6d5b4b205bcc29d5a.tar.gz cpython-ecf411c59e33d3760dbfebf6d5b4b205bcc29d5a.tar.bz2 |
bpo-34170: Enhance _PyCoreConfig_Read() (GH-8468)
* Inline cmdline_get_env_flags() into config_read_env_vars():
_PyCoreConfig_Read() now reads much more environment variables like
PYTHONVERBOSE.
* Allow to override faulthandler and allocator even if dev_mode=1.
PYTHONMALLOC is now the priority over PYTHONDEVMODE.
* Fix _PyCoreConfig_Copy(): copy also install_signal_handlers,
coerce_c_locale and coerce_c_locale_warn
* _PyCoreConfig.install_signal_handlers default is now 1: install
signals by default
* Fix also a compiler warning: don't define _PyPathConfig type twice.
Diffstat (limited to 'Include/pystate.h')
-rw-r--r-- | Include/pystate.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Include/pystate.h b/Include/pystate.h index 2c70505..f59d26b 100644 --- a/Include/pystate.h +++ b/Include/pystate.h @@ -26,15 +26,23 @@ typedef PyObject* (*_PyFrameEvalFunction)(struct _frame *, int); typedef struct { - int install_signal_handlers; /* Install signal handlers? -1 means unset */ + /* Install signal handlers? Yes by default. */ + int install_signal_handlers; int ignore_environment; /* -E, Py_IgnoreEnvironmentFlag, -1 means unset */ int use_hash_seed; /* PYTHONHASHSEED=x */ unsigned long hash_seed; - const char *allocator; /* Memory allocator: _PyMem_SetupAllocators() */ + const char *allocator; /* Memory allocator: PYTHONMALLOC */ int dev_mode; /* PYTHONDEVMODE, -X dev */ - int faulthandler; /* PYTHONFAULTHANDLER, -X faulthandler */ - int tracemalloc; /* PYTHONTRACEMALLOC, -X tracemalloc=N */ + + /* Enable faulthandler? + Set to 1 by -X faulthandler and PYTHONFAULTHANDLER. -1 means unset. */ + int faulthandler; + + /* Enable tracemalloc? + Set by -X tracemalloc=N and PYTHONTRACEMALLOC. -1 means unset */ + int tracemalloc; + int import_time; /* PYTHONPROFILEIMPORTTIME, -X importtime */ int show_ref_count; /* -X showrefcount */ int show_alloc_count; /* -X showalloccount */ @@ -229,9 +237,10 @@ typedef struct { #define _PyCoreConfig_INIT \ (_PyCoreConfig){ \ - .install_signal_handlers = -1, \ + .install_signal_handlers = 1, \ .ignore_environment = -1, \ .use_hash_seed = -1, \ + .faulthandler = -1, \ .tracemalloc = -1, \ .coerce_c_locale = -1, \ .utf8_mode = -1, \ |