Fix the patch for issue #7978: select() raises select.error before 3.3, not OSError.
diff --git a/Lib/socketserver.py b/Lib/socketserver.py
index c8a8db1..adf9f38 100644
--- a/Lib/socketserver.py
+++ b/Lib/socketserver.py
@@ -153,8 +153,8 @@
     while True:
         try:
             return func(*args)
-        except OSError as e:
-            if e.errno != errno.EINTR:
+        except (OSError, select.error) as e:
+            if e.args[0] != errno.EINTR:
                 raise
 
 class BaseServer: