summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/thread_nt.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/Python/thread_nt.h b/Python/thread_nt.h
index 9dca833..4256581 100644
--- a/Python/thread_nt.h
+++ b/Python/thread_nt.h
@@ -77,17 +77,18 @@ EnterNonRecursiveMutex(PNRMUTEX mutex, DWORD milliseconds)
}
} else if (milliseconds != 0) {
/* wait at least until the deadline */
- PyTime_t nanoseconds = (PyTime_t)milliseconds * (1000 * 1000);
- PyTime_t deadline = _PyTime_Add(_PyTime_PerfCounterUnchecked(), nanoseconds);
+ PyTime_t timeout = (PyTime_t)milliseconds * (1000 * 1000);
+ PyTime_t deadline = _PyDeadline_Init(timeout);
while (mutex->locked) {
- PyTime_t microseconds = _PyTime_AsMicroseconds(nanoseconds,
- _PyTime_ROUND_TIMEOUT);
+ PyTime_t microseconds = _PyTime_AsMicroseconds(timeout,
+ _PyTime_ROUND_TIMEOUT);
if (PyCOND_TIMEDWAIT(&mutex->cv, &mutex->cs, microseconds) < 0) {
result = WAIT_FAILED;
break;
}
- nanoseconds = deadline - _PyTime_PerfCounterUnchecked();
- if (nanoseconds <= 0) {
+
+ timeout = _PyDeadline_Get(deadline);
+ if (timeout <= 0) {
break;
}
}