summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Owen <rowen@uw.edu>2020-03-23 20:41:40 -0700
committerGitHub <noreply@github.com>2020-03-23 22:41:40 -0500
commit6000087fe979705dc588a46a35da884cc0198c67 (patch)
treebb030336c380f218a2a878f204fb495371103d89
parent70d9d74411c121896820e137ecd56e55c087adcc (diff)
downloadcpython-git-6000087fe979705dc588a46a35da884cc0198c67.tar.gz
closes bpo-40017: Add CLOCK_TAI constant to the time module. (GH-19096)
Co-authored-by: Benjamin Peterson <benjamin@python.org>
-rw-r--r--Doc/library/time.rst11
-rw-r--r--Misc/NEWS.d/next/Library/2020-03-21-00-46-18.bpo-40017.HFpHZS.rst1
-rw-r--r--Modules/timemodule.c5
3 files changed, 16 insertions, 1 deletions
diff --git a/Doc/library/time.rst b/Doc/library/time.rst
index 6842e9075e..cff6320b52 100644
--- a/Doc/library/time.rst
+++ b/Doc/library/time.rst
@@ -774,6 +774,16 @@ These constants are used as parameters for :func:`clock_getres` and
.. versionadded:: 3.7
+.. data:: CLOCK_TAI
+
+ `International Atomic Time <https://www.nist.gov/pml/time-and-frequency-division/nist-time-frequently-asked-questions-faq#tai>`_
+
+ The system must have a current leap second table in order for this to give
+ the correct answer. PTP or NTP software can maintain a leap second table.
+
+ .. availability:: Linux.
+
+ .. versionadded:: 3.9
.. data:: CLOCK_THREAD_CPUTIME_ID
@@ -805,7 +815,6 @@ These constants are used as parameters for :func:`clock_getres` and
.. versionadded:: 3.8
-
The following constant is the only parameter that can be sent to
:func:`clock_settime`.
diff --git a/Misc/NEWS.d/next/Library/2020-03-21-00-46-18.bpo-40017.HFpHZS.rst b/Misc/NEWS.d/next/Library/2020-03-21-00-46-18.bpo-40017.HFpHZS.rst
new file mode 100644
index 0000000000..9a17272d96
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-03-21-00-46-18.bpo-40017.HFpHZS.rst
@@ -0,0 +1 @@
+Add :data:`time.CLOCK_TAI` constant if the operating system support it.
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index f458966e29..e269cd047f 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -1786,6 +1786,11 @@ time_exec(PyObject *module)
return -1;
}
#endif
+#ifdef CLOCK_TAI
+ if (PyModule_AddIntMacro(module, CLOCK_TAI) < 0) {
+ return -1;
+ }
+#endif
#ifdef CLOCK_UPTIME
if (PyModule_AddIntMacro(module, CLOCK_UPTIME) < 0) {
return -1;