summaryrefslogtreecommitdiff
path: root/src/libfast
diff options
context:
space:
mode:
authorYves-Alexis Perez <corsac@debian.org>2015-11-26 15:26:42 +0100
committerYves-Alexis Perez <corsac@debian.org>2015-11-26 15:26:42 +0100
commitf42f239a632306ed082f6fde878977248eea85cf (patch)
tree6b6f55133d62cd206d1ad487c28215386bfae75c /src/libfast
parent6f35bf8f3833c3530d0ccec0f68bee97d0f00ebe (diff)
downloadvyos-strongswan-f42f239a632306ed082f6fde878977248eea85cf.tar.gz
vyos-strongswan-f42f239a632306ed082f6fde878977248eea85cf.zip
Imported Upstream version 5.3.5
Diffstat (limited to 'src/libfast')
-rw-r--r--src/libfast/fast_dispatcher.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libfast/fast_dispatcher.c b/src/libfast/fast_dispatcher.c
index b4c6ce3a6..66a2ee514 100644
--- a/src/libfast/fast_dispatcher.c
+++ b/src/libfast/fast_dispatcher.c
@@ -21,6 +21,7 @@
#include <fcgiapp.h>
#include <signal.h>
#include <unistd.h>
+#include <errno.h>
#include <utils/debug.h>
#include <threading/thread.h>
@@ -389,7 +390,10 @@ METHOD(fast_dispatcher_t, waitsignal, void,
sigaddset(&set, SIGTERM);
sigaddset(&set, SIGHUP);
sigprocmask(SIG_BLOCK, &set, NULL);
- sigwaitinfo(&set, NULL);
+ while (sigwaitinfo(&set, NULL) == -1 && errno == EINTR)
+ {
+ /* wait for signal */
+ }
}
METHOD(fast_dispatcher_t, destroy, void,