When we have siginterrupt(), use it to disable restarting interrupted
system calls.
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 7ebad93..b632efd 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -153,6 +153,9 @@
 		return;
 	}
 #endif
+#ifdef HAVE_SIGINTERRUPT
+	siginterrupt(sig_num, 1);
+#endif
 	(void)signal(sig_num, &signal_handler);
 }
 
@@ -240,6 +243,9 @@
 	}
 	else
 		func = signal_handler;
+#ifdef HAVE_SIGINTERRUPT
+	siginterrupt(sig_num, 1);
+#endif
 	if (signal(sig_num, func) == SIG_ERR) {
 		PyErr_SetFromErrno(PyExc_RuntimeError);
 		return NULL;