[Python-checkins] gh-98608: Move PyInterpreterConfig to pylifecycle.h (#107191)
vstinner
webhook-mailer at python.org
Mon Jul 24 15:42:08 EDT 2023
https://github.com/python/cpython/commit/e717b47ed8ae7017f0bfb835fe673aa836e8fcca
commit: e717b47ed8ae7017f0bfb835fe673aa836e8fcca
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2023-07-24T19:42:04Z
summary:
gh-98608: Move PyInterpreterConfig to pylifecycle.h (#107191)
Move PyInterpreterConfig structure and associated macros from
initconfig.h to pylifecycle.h: it's not related to the Python
Initialization Configuration.
files:
M Include/cpython/initconfig.h
M Include/cpython/pylifecycle.h
diff --git a/Include/cpython/initconfig.h b/Include/cpython/initconfig.h
index c103c2026e40e..cbae97f12f537 100644
--- a/Include/cpython/initconfig.h
+++ b/Include/cpython/initconfig.h
@@ -242,45 +242,6 @@ PyAPI_FUNC(PyStatus) PyConfig_SetWideStringList(PyConfig *config,
Py_ssize_t length, wchar_t **items);
-/* --- PyInterpreterConfig ------------------------------------ */
-
-#define PyInterpreterConfig_DEFAULT_GIL (0)
-#define PyInterpreterConfig_SHARED_GIL (1)
-#define PyInterpreterConfig_OWN_GIL (2)
-
-typedef struct {
- // XXX "allow_object_sharing"? "own_objects"?
- int use_main_obmalloc;
- int allow_fork;
- int allow_exec;
- int allow_threads;
- int allow_daemon_threads;
- int check_multi_interp_extensions;
- int gil;
-} PyInterpreterConfig;
-
-#define _PyInterpreterConfig_INIT \
- { \
- .use_main_obmalloc = 0, \
- .allow_fork = 0, \
- .allow_exec = 0, \
- .allow_threads = 1, \
- .allow_daemon_threads = 0, \
- .check_multi_interp_extensions = 1, \
- .gil = PyInterpreterConfig_OWN_GIL, \
- }
-
-#define _PyInterpreterConfig_LEGACY_INIT \
- { \
- .use_main_obmalloc = 1, \
- .allow_fork = 1, \
- .allow_exec = 1, \
- .allow_threads = 1, \
- .allow_daemon_threads = 1, \
- .check_multi_interp_extensions = 0, \
- .gil = PyInterpreterConfig_SHARED_GIL, \
- }
-
/* --- Helper functions --------------------------------------- */
/* Get the original command line arguments, before Python modified them.
diff --git a/Include/cpython/pylifecycle.h b/Include/cpython/pylifecycle.h
index 8af34b0564251..a78cec9525d5f 100644
--- a/Include/cpython/pylifecycle.h
+++ b/Include/cpython/pylifecycle.h
@@ -35,6 +35,45 @@ PyAPI_FUNC(void) _Py_NO_RETURN Py_ExitStatusException(PyStatus err);
PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *);
+/* --- PyInterpreterConfig ------------------------------------ */
+
+#define PyInterpreterConfig_DEFAULT_GIL (0)
+#define PyInterpreterConfig_SHARED_GIL (1)
+#define PyInterpreterConfig_OWN_GIL (2)
+
+typedef struct {
+ // XXX "allow_object_sharing"? "own_objects"?
+ int use_main_obmalloc;
+ int allow_fork;
+ int allow_exec;
+ int allow_threads;
+ int allow_daemon_threads;
+ int check_multi_interp_extensions;
+ int gil;
+} PyInterpreterConfig;
+
+#define _PyInterpreterConfig_INIT \
+ { \
+ .use_main_obmalloc = 0, \
+ .allow_fork = 0, \
+ .allow_exec = 0, \
+ .allow_threads = 1, \
+ .allow_daemon_threads = 0, \
+ .check_multi_interp_extensions = 1, \
+ .gil = PyInterpreterConfig_OWN_GIL, \
+ }
+
+#define _PyInterpreterConfig_LEGACY_INIT \
+ { \
+ .use_main_obmalloc = 1, \
+ .allow_fork = 1, \
+ .allow_exec = 1, \
+ .allow_threads = 1, \
+ .allow_daemon_threads = 1, \
+ .check_multi_interp_extensions = 0, \
+ .gil = PyInterpreterConfig_SHARED_GIL, \
+ }
+
PyAPI_FUNC(PyStatus) Py_NewInterpreterFromConfig(
PyThreadState **tstate_p,
const PyInterpreterConfig *config);
More information about the Python-checkins
mailing list