From 3ada8405ab6718baa7e1beb75351acbe60ab402f Mon Sep 17 00:00:00 2001 From: David Goulet Date: Thu, 29 Sep 2011 12:10:36 -0400 Subject: [PATCH 1/1] Fix epoll not handling signal interruption Signed-off-by: David Goulet --- ltt-sessiond/compat/compat-epoll.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ltt-sessiond/compat/compat-epoll.c b/ltt-sessiond/compat/compat-epoll.c index 578dd2e45..431c5eb0d 100644 --- a/ltt-sessiond/compat/compat-epoll.c +++ b/ltt-sessiond/compat/compat-epoll.c @@ -171,7 +171,9 @@ int compat_epoll_wait(struct lttng_poll_event *events, int timeout) goto error; } - ret = epoll_wait(events->epfd, events->events, events->nb_fd, timeout); + do { + ret = epoll_wait(events->epfd, events->events, events->nb_fd, timeout); + } while (ret == -1 && errno == EINTR); if (ret < 0) { /* At this point, every error is fatal */ perror("epoll_wait"); -- 2.34.1