diff options
author | Victor Stinner <vstinner@python.org> | 2024-05-05 10:15:19 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-05 10:15:19 (GMT) |
commit | aa61f8bfcf2584dd8345f1f9a07e240100b79192 (patch) | |
tree | db196e9316a20ff332290c56b60c38a6b533fae6 /Python/parking_lot.c | |
parent | c7c9b913c01afb8d2ff4048f82155969f7ef75b1 (diff) | |
download | cpython-aa61f8bfcf2584dd8345f1f9a07e240100b79192.zip cpython-aa61f8bfcf2584dd8345f1f9a07e240100b79192.tar.gz cpython-aa61f8bfcf2584dd8345f1f9a07e240100b79192.tar.bz2 |
gh-110850: Remove _PyTime_TimeUnchecked() function (#118552)
Use the new public Raw functions:
* _PyTime_PerfCounterUnchecked() with PyTime_PerfCounterRaw()
* _PyTime_TimeUnchecked() with PyTime_TimeRaw()
* _PyTime_MonotonicUnchecked() with PyTime_MonotonicRaw()
Remove internal functions:
* _PyTime_PerfCounterUnchecked()
* _PyTime_TimeUnchecked()
* _PyTime_MonotonicUnchecked()
Diffstat (limited to 'Python/parking_lot.c')
-rw-r--r-- | Python/parking_lot.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/Python/parking_lot.c b/Python/parking_lot.c index b368b50..e2def9e 100644 --- a/Python/parking_lot.c +++ b/Python/parking_lot.c @@ -6,7 +6,7 @@ #include "pycore_pyerrors.h" // _Py_FatalErrorFormat #include "pycore_pystate.h" // _PyThreadState_GET #include "pycore_semaphore.h" // _PySemaphore -#include "pycore_time.h" //_PyTime_MonotonicUnchecked() +#include "pycore_time.h" // _PyTime_Add() #include <stdbool.h> @@ -120,13 +120,18 @@ _PySemaphore_PlatformWait(_PySemaphore *sema, PyTime_t timeout) struct timespec ts; #if defined(CLOCK_MONOTONIC) && defined(HAVE_SEM_CLOCKWAIT) - PyTime_t deadline = _PyTime_Add(_PyTime_MonotonicUnchecked(), timeout); - + PyTime_t now; + // silently ignore error: cannot report error to the caller + (void)PyTime_MonotonicRaw(&now); + PyTime_t deadline = _PyTime_Add(now, timeout); _PyTime_AsTimespec_clamp(deadline, &ts); err = sem_clockwait(&sema->platform_sem, CLOCK_MONOTONIC, &ts); #else - PyTime_t deadline = _PyTime_Add(_PyTime_TimeUnchecked(), timeout); + PyTime_t now; + // silently ignore error: cannot report error to the caller + (void)PyTime_TimeRaw(&now); + PyTime_t deadline = _PyTime_Add(now, timeout); _PyTime_AsTimespec_clamp(deadline, &ts); @@ -163,7 +168,9 @@ _PySemaphore_PlatformWait(_PySemaphore *sema, PyTime_t timeout) _PyTime_AsTimespec_clamp(timeout, &ts); err = pthread_cond_timedwait_relative_np(&sema->cond, &sema->mutex, &ts); #else - PyTime_t deadline = _PyTime_Add(_PyTime_TimeUnchecked(), timeout); + PyTime_t now; + (void)PyTime_TimeRaw(&now); + PyTime_t deadline = _PyTime_Add(now, timeout); _PyTime_AsTimespec_clamp(deadline, &ts); err = pthread_cond_timedwait(&sema->cond, &sema->mutex, &ts); |