https://github.com/python/cpython/commit/1353b8a4bcef22d985a0b6a186c96439fd540ea8 commit: 1353b8a4bcef22d985a0b6a186c96439fd540ea8 branch: 3.11 author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com> committer: miss-islington <31488909+miss-islington at users.noreply.github.com> date: 2022年06月17日T07:39:27-07:00 summary: gh-74953: Fix PyThread_acquire_lock_timed() code recomputing the timeout (GH-93941) Set timeout, don't create a local variable with the same name. (cherry picked from commit f64557f4803528c53bb9a1d565e3cdf92e97152f) Co-authored-by: Victor Stinner <vstinner at python.org> files: M Python/thread_pthread.h diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h index c90ab25d4841d..02c8427729545 100644 --- a/Python/thread_pthread.h +++ b/Python/thread_pthread.h @@ -506,7 +506,7 @@ PyThread_acquire_lock_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds, #ifndef HAVE_SEM_CLOCKWAIT if (timeout > 0) { /* wait interrupted by a signal (EINTR): recompute the timeout */ - _PyTime_t timeout = _PyDeadline_Get(deadline); + timeout = _PyDeadline_Get(deadline); if (timeout < 0) { status = ETIMEDOUT; break;