From ca3833f638213d2cf0604481fade27b4437dc985 Mon Sep 17 00:00:00 2001 From: Yannick Lamarre Date: Thu, 25 Apr 2019 18:23:31 -0400 Subject: [PATCH] Fix: hang in thread_rotation when using compat-poll MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add missing verification to prevent a blocking read on an empty fd. Signed-off-by: Yannick Lamarre Signed-off-by: Jérémie Galarneau --- src/bin/lttng-sessiond/rotation-thread.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/bin/lttng-sessiond/rotation-thread.c b/src/bin/lttng-sessiond/rotation-thread.c index 6669372dd..b86b16689 100644 --- a/src/bin/lttng-sessiond/rotation-thread.c +++ b/src/bin/lttng-sessiond/rotation-thread.c @@ -974,6 +974,10 @@ void *thread_rotation(void *data) int fd = LTTNG_POLL_GETFD(&thread.events, i); uint32_t revents = LTTNG_POLL_GETEV(&thread.events, i); + if (!revents) { + /* No activity for this FD (poll implementation). */ + continue; + } DBG("[rotation-thread] Handling fd (%i) activity (%u)", fd, revents); -- 2.34.1