Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r90621:4af601050e87
Date: 2017-03-10 14:01 +0100
http://bitbucket.org/pypy/pypy/changeset/4af601050e87/
Log: Issue #2495: forgot two calls to checksignals() after we get an
EINTR
diff --git a/pypy/module/_multiprocessing/interp_semaphore.py
b/pypy/module/_multiprocessing/interp_semaphore.py
--- a/pypy/module/_multiprocessing/interp_semaphore.py
+++ b/pypy/module/_multiprocessing/interp_semaphore.py
@@ -372,6 +372,7 @@
except OSError as e:
if e.errno == errno.EINTR:
# again
+ _check_signals(space)
continue
elif e.errno in (errno.EAGAIN, errno.ETIMEDOUT):
return False
diff --git a/pypy/module/time/interp_time.py b/pypy/module/time/interp_time.py
--- a/pypy/module/time/interp_time.py
+++ b/pypy/module/time/interp_time.py
@@ -469,6 +469,7 @@
break # normal path
if rposix.get_saved_errno() != EINTR:
raise exception_from_saved_errno(space, space.w_OSError)
+ space.getexecutioncontext().checksignals()
secs = end_time - timeutils.monotonic(space) # retry
if secs <= 0.0:
break
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit