diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-03-30 19:33:51 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-03-30 19:33:51 (GMT) |
commit | 6aa446cf039f9533a5ecf2400bf060db4313a417 (patch) | |
tree | 2530c77e76dce1b8fce38980ae24a6a9d7ed50b3 /Modules | |
parent | f70e1ca0fc30426d12aa8fc6684764ee11a66777 (diff) | |
download | cpython-6aa446cf039f9533a5ecf2400bf060db4313a417.zip cpython-6aa446cf039f9533a5ecf2400bf060db4313a417.tar.gz cpython-6aa446cf039f9533a5ecf2400bf060db4313a417.tar.bz2 |
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()
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_threadmodule.c | 2 | ||||
-rw-r--r-- | Modules/signalmodule.c | 2 | ||||
-rw-r--r-- | Modules/timemodule.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c index 0907aa0..323447f 100644 --- a/Modules/_threadmodule.c +++ b/Modules/_threadmodule.c @@ -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; } } diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index 3081562..a1fda3e 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -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); diff --git a/Modules/timemodule.c b/Modules/timemodule.c index 74c544a..5f6290d 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -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); |