Fix: Retry poll on interruption
[lttng-tools.git] / src / common / compat / compat-poll.c
index 32bcce8e4643fdf2c3d858da9273147537a39a06..cc280c7640ce4d011904da27fac43712ce1df272 100644 (file)
@@ -15,7 +15,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#define _GNU_SOURCE
 #define _LGPL_SOURCE
 #include <assert.h>
 #include <stdlib.h>
@@ -269,7 +268,9 @@ int compat_poll_wait(struct lttng_poll_event *events, int timeout)
                }
        }
 
-       ret = poll(events->wait.events, events->wait.nb_fd, timeout);
+       do {
+               ret = poll(events->wait.events, events->wait.nb_fd, timeout);
+       } while (ret == -1 && errno == EINTR);
        if (ret < 0) {
                /* At this point, every error is fatal */
                PERROR("poll wait");
This page took 0.025125 seconds and 4 git commands to generate.