Commit 6aa446cf authored by Victor Stinner's avatar Victor Stinner

PEP 475: on EINTR, retry the function even if the timeout is equals to zero

Retry:

* signal.sigtimedwait()
* threading.Lock.acquire()
* threading.RLock.acquire()
* time.sleep()
parent f70e1ca0
......@@ -84,7 +84,7 @@ acquire_timed(PyThread_type_lock lock, _PyTime_t timeout)
/* Check for negative values, since those mean block forever.
*/
if (timeout <= 0) {
if (timeout < 0) {
r = PY_LOCK_FAILURE;
}
}
......
......@@ -1011,7 +1011,7 @@ signal_sigtimedwait(PyObject *self, PyObject *args)
monotonic = _PyTime_GetMonotonicClock();
timeout = deadline - monotonic;
if (timeout <= 0)
if (timeout < 0)
break;
} while (1);
......
......@@ -1455,7 +1455,7 @@ pysleep(_PyTime_t secs)
monotonic = _PyTime_GetMonotonicClock();
secs = deadline - monotonic;
if (secs <= 00)
if (secs < 0)
break;
/* retry with the recomputed delay */
} while (1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment