summaryrefslogtreecommitdiffstats
path: root/Include/internal
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2022-12-08 23:46:09 (GMT)
committerGitHub <noreply@github.com>2022-12-08 23:46:09 (GMT)
commit8a3f06c54b52e5e7490a131b261384baac9d6090 (patch)
treeffbb65d3491ecb020e72a84e4bcf35008a602ffa /Include/internal
parentcda9f0236fd7800c6db5eec207668c4bfec4a45d (diff)
downloadcpython-8a3f06c54b52e5e7490a131b261384baac9d6090.zip
cpython-8a3f06c54b52e5e7490a131b261384baac9d6090.tar.gz
cpython-8a3f06c54b52e5e7490a131b261384baac9d6090.tar.bz2
gh-81057: Move time Globals to _PyRuntimeState (gh-100122)
https://github.com/python/cpython/issues/81057
Diffstat (limited to 'Include/internal')
-rw-r--r--Include/internal/pycore_os.h38
-rw-r--r--Include/internal/pycore_pylifecycle.h1
-rw-r--r--Include/internal/pycore_runtime.h4
-rw-r--r--Include/internal/pycore_runtime_init.h1
-rw-r--r--Include/internal/pycore_time.h25
5 files changed, 28 insertions, 41 deletions
diff --git a/Include/internal/pycore_os.h b/Include/internal/pycore_os.h
deleted file mode 100644
index e4899bd..0000000
--- a/Include/internal/pycore_os.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef Py_INTERNAL_OS_H
-#define Py_INTERNAL_OS_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef Py_BUILD_CORE
-# error "this header requires Py_BUILD_CORE define"
-#endif
-
-
-#ifndef MS_WINDOWS
-#define _OS_NEED_TICKS_PER_SECOND
-# define need_ticks_per_second_STATE \
- long ticks_per_second;
-# define need_ticks_per_second_INIT \
- .ticks_per_second = -1,
-#else
-# define need_ticks_per_second_STATE
-# define need_ticks_per_second_INIT
-#endif /* MS_WINDOWS */
-
-
-struct _os_runtime_state {
- int _not_used;
- need_ticks_per_second_STATE
-};
-# define _OS_RUNTIME_INIT \
- { \
- ._not_used = 0, \
- need_ticks_per_second_INIT \
- }
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_INTERNAL_OS_H */
diff --git a/Include/internal/pycore_pylifecycle.h b/Include/internal/pycore_pylifecycle.h
index 4c0ffa7..370e4cb 100644
--- a/Include/internal/pycore_pylifecycle.h
+++ b/Include/internal/pycore_pylifecycle.h
@@ -44,6 +44,7 @@ extern void _PySys_Fini(PyInterpreterState *interp);
extern int _PyBuiltins_AddExceptions(PyObject * bltinmod);
extern PyStatus _Py_HashRandomization_Init(const PyConfig *);
+extern PyStatus _PyTime_Init(void);
extern PyStatus _PyImportZip_Init(PyThreadState *tstate);
extern PyStatus _PyGC_Init(PyInterpreterState *interp);
extern PyStatus _PyAtExit_Init(PyInterpreterState *interp);
diff --git a/Include/internal/pycore_runtime.h b/Include/internal/pycore_runtime.h
index c6b48ca..458493e 100644
--- a/Include/internal/pycore_runtime.h
+++ b/Include/internal/pycore_runtime.h
@@ -21,7 +21,7 @@ extern "C" {
#include "pycore_pymem.h" // struct _pymem_allocators
#include "pycore_pyhash.h" // struct pyhash_runtime_state
#include "pycore_obmalloc.h" // struct obmalloc_state
-#include "pycore_os.h" // struct _os_runtime_state
+#include "pycore_time.h" // struct _time_runtime_state
#include "pycore_unicodeobject.h" // struct _Py_unicode_runtime_ids
struct _getargs_runtime_state {
@@ -104,7 +104,7 @@ typedef struct pyruntimestate {
* KeyboardInterrupt exception, suggesting the user pressed ^C. */
int unhandled_keyboard_interrupt;
} signals;
- struct _os_runtime_state os;
+ struct _time_runtime_state time;
struct pyinterpreters {
PyThread_type_lock mutex;
diff --git a/Include/internal/pycore_runtime_init.h b/Include/internal/pycore_runtime_init.h
index 7026389..ab53876 100644
--- a/Include/internal/pycore_runtime_init.h
+++ b/Include/internal/pycore_runtime_init.h
@@ -26,7 +26,6 @@ extern "C" {
}, \
.obmalloc = _obmalloc_state_INIT(runtime.obmalloc), \
.pyhash_state = pyhash_state_INIT, \
- .os = _OS_RUNTIME_INIT, \
.interpreters = { \
/* This prevents interpreters from getting created \
until _PyInterpreterState_Enable() is called. */ \
diff --git a/Include/internal/pycore_time.h b/Include/internal/pycore_time.h
new file mode 100644
index 0000000..949170c
--- /dev/null
+++ b/Include/internal/pycore_time.h
@@ -0,0 +1,25 @@
+#ifndef Py_INTERNAL_TIME_H
+#define Py_INTERNAL_TIME_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef Py_BUILD_CORE
+# error "this header requires Py_BUILD_CORE define"
+#endif
+
+
+struct _time_runtime_state {
+#ifdef HAVE_TIMES
+ int ticks_per_second_initialized;
+ long ticks_per_second;
+#else
+ int _not_used;
+#endif
+};
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !Py_INTERNAL_TIME_H */