diff options
author | Victor Stinner <vstinner@python.org> | 2021-09-22 14:09:30 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-22 14:09:30 (GMT) |
commit | 58f8adfda3c2b42f654a55500e8e3a6433cb95f2 (patch) | |
tree | 2804e1290e728fe7f5aa6ba46215b894de3f88ea /Python/pytime.c | |
parent | 8620be99da930230b18ec05f4d7446ee403531af (diff) | |
download | cpython-58f8adfda3c2b42f654a55500e8e3a6433cb95f2.zip cpython-58f8adfda3c2b42f654a55500e8e3a6433cb95f2.tar.gz cpython-58f8adfda3c2b42f654a55500e8e3a6433cb95f2.tar.bz2 |
bpo-21302: time.sleep() uses waitable timer on Windows (GH-28483)
On Windows, time.sleep() now uses a waitable timer which has a
resolution of 100 ns (10^-7 sec). Previously, it had a solution of 1
ms (10^-3 sec).
* On Windows, time.sleep() now calls PyErr_CheckSignals() before
resetting the SIGINT event.
* Add _PyTime_As100Nanoseconds() function.
* Complete and update time.sleep() documentation.
Co-authored-by: Livius <egyszeregy@freemail.hu>
Diffstat (limited to 'Python/pytime.c')
-rw-r--r-- | Python/pytime.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Python/pytime.c b/Python/pytime.c index 8035a5f..7f9f301 100644 --- a/Python/pytime.c +++ b/Python/pytime.c @@ -33,6 +33,7 @@ /* Conversion from nanoseconds */ #define NS_TO_MS (1000 * 1000) #define NS_TO_US (1000) +#define NS_TO_100NS (100) static void @@ -568,6 +569,16 @@ _PyTime_AsNanoseconds(_PyTime_t t) } +#ifdef MS_WINDOWS +_PyTime_t +_PyTime_As100Nanoseconds(_PyTime_t t, _PyTime_round_t round) +{ + _PyTime_t ns = pytime_as_nanoseconds(t); + return pytime_divide(ns, NS_TO_100NS, round); +} +#endif + + _PyTime_t _PyTime_AsMicroseconds(_PyTime_t t, _PyTime_round_t round) { |