]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-127117: ensure that `_initial_thread` is the last field of `PyInterpreterState...
authorBénédikt Tran <10796600+picnixz@users.noreply.github.com>
Sun, 20 Apr 2025 06:23:00 +0000 (08:23 +0200)
committerGitHub <noreply@github.com>
Sun, 20 Apr 2025 06:23:00 +0000 (11:53 +0530)
Include/internal/pycore_interp_structs.h

index 9ac4b4630abd3fc95e5615b1beb57ae90da3f474..af6ee3ab48939fc8589b5009e994c46537ee918b 100644 (file)
@@ -754,7 +754,7 @@ struct _is {
      * and should be placed at the beginning. */
     struct _ceval_state ceval;
 
-   /* This structure is carefully allocated so that it's correctly aligned
+    /* This structure is carefully allocated so that it's correctly aligned
      * to avoid undefined behaviors during LOAD and STORE. The '_malloced'
      * field stores the allocated pointer address that will later be freed.
      */
@@ -941,11 +941,6 @@ struct _is {
 
     Py_ssize_t _interactive_src_count;
 
-    /* the initial PyInterpreterState.threads.head */
-    _PyThreadStateImpl _initial_thread;
-    // _initial_thread should be the last field of PyInterpreterState.
-    // See https://github.com/python/cpython/issues/127117.
-
 #if !defined(Py_GIL_DISABLED) && defined(Py_STACKREF_DEBUG)
     uint64_t next_stackref;
     _Py_hashtable_t *open_stackrefs_table;
@@ -953,6 +948,11 @@ struct _is {
     _Py_hashtable_t *closed_stackrefs_table;
 #  endif
 #endif
+
+    /* the initial PyInterpreterState.threads.head */
+    _PyThreadStateImpl _initial_thread;
+    // _initial_thread should be the last field of PyInterpreterState.
+    // See https://github.com/python/cpython/issues/127117.
 };