X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmanage-kernel.c;h=f656c9f5cc6fcdc1e4b16219d22a7c76c9a70592;hb=df4f5a87a21110a5f9447bcfd7ffeb25098a5fd4;hp=35547743c295e1cdb7c7f71e2f2114813a22761d;hpb=5b0936814a6004448eeec430b2dfea534f35a2fc;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/manage-kernel.c b/src/bin/lttng-sessiond/manage-kernel.c index 35547743c..f656c9f5c 100644 --- a/src/bin/lttng-sessiond/manage-kernel.c +++ b/src/bin/lttng-sessiond/manage-kernel.c @@ -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); + session_put(session); } session_unlock_list(); @@ -266,11 +267,6 @@ static void *thread_kernel_management(void *data) health_code_update(); - if (!revents) { - /* No activity for this FD (poll implementation). */ - continue; - } - if (pollfd == quit_pipe_read_fd) { err = 0; goto exit; @@ -346,13 +342,12 @@ bool launch_kernel_management_thread(int kernel_poll_pipe_read_fd) struct thread_notifiers *notifiers = NULL; struct lttng_thread *thread; - quit_pipe = lttng_pipe_open(FD_CLOEXEC); - if (!quit_pipe) { - goto error; - } - notifiers = zmalloc(sizeof(*notifiers)); if (!notifiers) { + goto error_alloc; + } + quit_pipe = lttng_pipe_open(FD_CLOEXEC); + if (!quit_pipe) { goto error; } notifiers->quit_pipe = quit_pipe; @@ -370,5 +365,6 @@ bool launch_kernel_management_thread(int kernel_poll_pipe_read_fd) return true; error: cleanup_kernel_management_thread(notifiers); +error_alloc: return false; }