From: David Goulet Date: Thu, 29 Sep 2011 16:10:36 +0000 (-0400) Subject: Fix epoll not handling signal interruption X-Git-Tag: v2.0-pre14~6 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=3ada8405ab6718baa7e1beb75351acbe60ab402f;hp=56fff0907d3a752030f384e6037d16ea7978de71 Fix epoll not handling signal interruption Signed-off-by: David Goulet --- 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");