From b634601e3901d2c88dbdad3fd2210e9025a796ff Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Tue, 30 Jul 2024 03:22:07 +0000 Subject: [PATCH] sessiond: session.cpp: iterate on list using list_iteration_adapter MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: Ie138974d18f25db7e449a856c59bfb3be87ac06a Signed-off-by: Jérémie Galarneau --- src/bin/lttng-sessiond/session.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/bin/lttng-sessiond/session.cpp b/src/bin/lttng-sessiond/session.cpp index 9ad49c6fd..176b644c2 100644 --- a/src/bin/lttng-sessiond/session.cpp +++ b/src/bin/lttng-sessiond/session.cpp @@ -81,22 +81,24 @@ struct ltt_session_list the_session_list; */ struct ltt_session *session_find_by_name(const char *name) { - struct ltt_session *iter; + struct ltt_session *session_to_return; LTTNG_ASSERT(name); ASSERT_SESSION_LIST_LOCKED(); DBG2("Trying to find session by name %s", name); - cds_list_for_each_entry (iter, &the_session_list.head, list) { - if (!strncmp(iter->name, name, NAME_MAX) && !iter->destroyed) { + for (auto session : lttng::urcu::list_iteration_adapter( + the_session_list.head)) { + if (!strncmp(session->name, name, NAME_MAX) && !session->destroyed) { + session_to_return = session; goto found; } } return nullptr; found: - return session_get(iter) ? iter : nullptr; + return session_get(session_to_return) ? session_to_return : nullptr; } /* @@ -897,7 +899,6 @@ static enum lttng_error_code session_kernel_open_packets(const ltt_session::lock enum lttng_error_code ret = LTTNG_OK; struct lttng_ht_iter iter; struct cds_lfht_node *node; - struct ltt_kernel_channel *chan; const lttng::urcu::read_lock_guard read_lock; @@ -905,7 +906,9 @@ static enum lttng_error_code session_kernel_open_packets(const ltt_session::lock node = cds_lfht_iter_get_node(&iter.iter); auto *socket = lttng_ht_node_container_of(node, &consumer_socket::node); - cds_list_for_each_entry (chan, &session->kernel_session->channel_list.head, list) { + for (auto chan : + lttng::urcu::list_iteration_adapter( + session->kernel_session->channel_list.head)) { int open_ret; DBG("Open packet of kernel channel: channel key = %" PRIu64 -- 2.34.1