Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
while (!conf->terminated && !timeout_expired) {
int fds = epoll_wait(epollfd, events, EPOLL_MAX_EVENTS, -1);
if (fds < 1) {
+ // We terminate gracefully when we receive a signal
+ if (errno == EINTR)
+ break;
+
ERROR(conf, "epoll_wait() failed: %s\n", strerror(errno));
goto ERROR;
}
while (!conf->terminated) {
int fds = epoll_wait(epollfd, events, EPOLL_MAX_EVENTS, -1);
if (fds < 1) {
+ // We terminate gracefully when we receive a signal
+ if (errno == EINTR)
+ break;
+
ERROR(conf, "epoll_wait() failed: %s\n", strerror(errno));
goto ERROR;
}