Author: Armin Rigo <[email protected]>
Branch: py3.5-eintr-pep475
Changeset: r88861:5772ffc179ab
Date: 2016-12-03 18:22 +0100
http://bitbucket.org/pypy/pypy/changeset/5772ffc179ab/

Log:    last os function

diff --git a/pypy/module/posix/interp_posix.py 
b/pypy/module/posix/interp_posix.py
--- a/pypy/module/posix/interp_posix.py
+++ b/pypy/module/posix/interp_posix.py
@@ -1306,12 +1306,16 @@
 
     Wait for completion of a given child process.
     """
-    try:
-        pid, status = os.waitpid(pid, options)
-    except OSError as e:
-        raise wrap_oserror(space, e)
+    while True:
+        try:
+            pid, status = os.waitpid(pid, options)
+            break
+        except OSError as e:
+            wrap_oserror(space, e, eintr_retry=True)
     return space.newtuple([space.wrap(pid), space.wrap(status)])
 
+# missing: waitid()
+
 @unwrap_spec(status=c_int)
 def _exit(space, status):
     os._exit(status)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to