Fix: missing session reference release on kernel poll update
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 12 Dec 2018 03:42:19 +0000 (22:42 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 12 Dec 2018 03:42:19 +0000 (22:42 -0500)
The iteration performed on all sessions in update_kernel_poll() does
not release the reference taken on the sessions. This causes the
session(s) to be leaked and prevents the shutdown of the session
daemon as it waits for all sessions to be destroyed before completing
its teardown.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/manage-kernel.c

index 35547743c295e1cdb7c7f71e2f2114813a22761d..56bc0a93ca6147807d02059058daa2b23ae4a0e5 100644 (file)
@@ -70,6 +70,7 @@ static int update_kernel_poll(struct lttng_poll_event *events)
                        DBG("Channel fd %d added to kernel set", channel->fd);
                }
                session_unlock(session);
                        DBG("Channel fd %d added to kernel set", channel->fd);
                }
                session_unlock(session);
+               session_put(session);
        }
        session_unlock_list();
 
        }
        session_unlock_list();
 
This page took 0.026451 seconds and 5 git commands to generate.