Use InterruptedError instead of checking for EINTR
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 2c5c888..a0aadb9 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -450,10 +450,8 @@
     while True:
         try:
             return func(*args)
-        except (OSError, IOError) as e:
-            if e.errno == errno.EINTR:
-                continue
-            raise
+        except InterruptedError:
+            continue
 
 
 def call(*popenargs, timeout=None, **kwargs):