Issue #8407: signal.sigwait() releases the GIL

Initial patch by Charles-François Natali.
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 6d27ab3..94e6bcb 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -662,7 +662,9 @@
     if (iterable_to_sigset(signals, &set))
         return NULL;
 
+    Py_BEGIN_ALLOW_THREADS
     err = sigwait(&set, &signum);
+    Py_END_ALLOW_THREADS
     if (err) {
         errno = err;
         return PyErr_SetFromErrno(PyExc_OSError);