SIGN IN SIGN UP

bpo-30768: Recompute timeout on interrupted lock (GH-4103)

Fix the pthread+semaphore implementation of
PyThread_acquire_lock_timed() when called with timeout > 0 and
intr_flag=0: recompute the timeout if sem_timedwait() is interrupted
by a signal (EINTR).

See also the PEP 475.

The pthread implementation of PyThread_acquire_lock() now fails with
a fatal error if the timeout is larger than PY_TIMEOUT_MAX, as done
in the Windows implementation.

The check prevents any risk of overflow in PyThread_acquire_lock().

Add also PY_DWORD_MAX constant.
V
Victor Stinner committed
850a18e03e8f8309bc8c39adc6e7d51a4568cd9a
Parent: 3557b05
Committed by GitHub <noreply@github.com> on 10/24/2017, 11:53:32 PM