mercurial/posix.py
branchstable
changeset 30262 5f33116cd787
parent 29530 3239e2fdd2e2
child 30697 13d94304c8da
--- a/mercurial/posix.py	Mon Dec 19 22:46:00 2016 +0900
+++ b/mercurial/posix.py	Thu Dec 22 23:14:13 2016 +0900
@@ -570,7 +570,14 @@
 
     In unsupported cases, it will raise a NotImplementedError"""
     try:
-        res = select.select(fds, fds, fds)
+        while True:
+            try:
+                res = select.select(fds, fds, fds)
+                break
+            except select.error as inst:
+                if inst.args[0] == errno.EINTR:
+                    continue
+                raise
     except ValueError: # out of range file descriptor
         raise NotImplementedError()
     return sorted(list(set(sum(res, []))))