]> git.ipfire.org Git - people/stevee/pakfire.git/commitdiff
execute: Ignore if epoll_wait() is being interrupted
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 17 May 2022 16:20:19 +0000 (16:20 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 17 May 2022 16:20:19 +0000 (16:20 +0000)
This can happen if the process is receiving a signal and we should just
continue as usual.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/execute.c

index f42a2abbdb5fac96c81bb59bf94c53918374a8b7..150f770474b4bf33d4cd73b1e38f07887ffeb36e 100644 (file)
@@ -212,6 +212,10 @@ static int pakfire_execute_logger(struct pakfire* pakfire, pakfire_execute_loggi
 
                int num = epoll_wait(epollfd, events, EPOLL_MAX_EVENTS, -1);
                if (num < 1) {
+                       // Ignore if epoll_wait() has been interrupted
+                       if (errno == EINTR)
+                               continue;
+
                        ERROR(pakfire, "epoll_wait() failed: %m\n");
                        r = -errno;