@@ -10,11 +10,13 @@ extern "C" {
10
10
11
11
#include "pycore_atomic.h" /* _Py_atomic_address */
12
12
#include "pycore_dtoa.h" // struct _dtoa_runtime_state
13
+ #include "pycore_floatobject.h" // struct _Py_float_runtime_state
13
14
#include "pycore_gil.h" // struct _gil_runtime_state
14
15
#include "pycore_global_objects.h" // struct _Py_global_objects
15
16
#include "pycore_import.h" // struct _import_runtime_state
16
17
#include "pycore_interp.h" // PyInterpreterState
17
18
#include "pycore_pymem.h" // struct _pymem_allocators
19
+ #include "pycore_pyhash.h" // struct pyhash_runtime_state
18
20
#include "pycore_obmalloc.h" // struct obmalloc_state
19
21
#include "pycore_unicodeobject.h" // struct _Py_unicode_runtime_ids
20
22
@@ -92,6 +94,12 @@ typedef struct pyruntimestate {
92
94
93
95
struct _pymem_allocators allocators ;
94
96
struct _obmalloc_state obmalloc ;
97
+ struct pyhash_runtime_state pyhash_state ;
98
+ struct {
99
+ /* True if the main interpreter thread exited due to an unhandled
100
+ * KeyboardInterrupt exception, suggesting the user pressed ^C. */
101
+ int unhandled_keyboard_interrupt ;
102
+ } signals ;
95
103
96
104
struct pyinterpreters {
97
105
PyThread_type_lock mutex ;
@@ -131,6 +139,7 @@ typedef struct pyruntimestate {
131
139
struct _PyTraceMalloc_Config config ;
132
140
} tracemalloc ;
133
141
struct _dtoa_runtime_state dtoa ;
142
+ struct _fileutils_state fileutils ;
134
143
135
144
PyPreConfig preconfig ;
136
145
@@ -140,7 +149,8 @@ typedef struct pyruntimestate {
140
149
void * open_code_userdata ;
141
150
_Py_AuditHookEntry * audit_hook_head ;
142
151
143
- struct _Py_unicode_runtime_ids unicode_ids ;
152
+ struct _Py_float_runtime_state float_state ;
153
+ struct _Py_unicode_runtime_state unicode_state ;
144
154
145
155
struct {
146
156
/* Used to set PyTypeObject.tp_version_tag */
0 commit comments