sigwaitinfo() may fail with EINTR if interrupted by an unblocked signal not in the set
[strongswan.git] / src / conftest / conftest.c
index 9348b64..edfe0ca 100644 (file)
@@ -565,7 +565,7 @@ int main(int argc, char *argv[])
        sigaddset(&set, SIGTERM);
        sigprocmask(SIG_BLOCK, &set, NULL);
 
-       while ((sig = sigwaitinfo(&set, NULL)) != -1)
+       while ((sig = sigwaitinfo(&set, NULL)) != -1 || errno == EINTR)
        {
                switch (sig)
                {