Check for EINTR and turn it into KeyboardInterrupt
in err_errno().
diff --git a/Python/errors.c b/Python/errors.c
index f1e7151..70a85ba 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -148,7 +148,12 @@
 err_errno(exc)
 	object *exc;
 {
-	object *v = newtupleobject(2);
+	object *v;
+	if (errno == EINTR && intrcheck()) {
+		err_set(KeyboardInterrupt);
+		return NULL;
+	}
+	v = newtupleobject(2);
 	if (v != NULL) {
 		settupleitem(v, 0, newintobject((long)errno));
 		settupleitem(v, 1, newstringobject(strerror(errno)));