diff options
Diffstat (limited to 'src/charon-systemd/charon-systemd.c')
-rw-r--r-- | src/charon-systemd/charon-systemd.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/charon-systemd/charon-systemd.c b/src/charon-systemd/charon-systemd.c index f302d4527..4286cde82 100644 --- a/src/charon-systemd/charon-systemd.c +++ b/src/charon-systemd/charon-systemd.c @@ -254,6 +254,10 @@ static int run() sig = sigwaitinfo(&set, NULL); if (sig == -1) { + if (errno == EINTR) + { /* ignore signals we didn't wait for */ + continue; + } DBG1(DBG_DMN, "waiting for signal failed: %s", strerror(errno)); return SS_RC_INITIALIZATION_FAILED; } @@ -265,11 +269,6 @@ static int run() charon->bus->alert(charon->bus, ALERT_SHUTDOWN_SIGNAL, sig); return 0; } - default: - { - DBG1(DBG_DMN, "unknown signal %d received. Ignored", sig); - break; - } } } } |