X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fagent-thread.cpp;fp=src%2Fbin%2Flttng-sessiond%2Fagent-thread.cpp;h=f641ed78e12aecf0b16a67680b1ac54f0dc3ded2;hp=6abcb8fb34669587d8e091d47fb24b8f05bc5267;hb=56047f5a23df5c2c583a102b8015bbec5a7da9f1;hpb=66cefebdc240cbae0bc79594305f509b0779fa98 diff --git a/src/bin/lttng-sessiond/agent-thread.cpp b/src/bin/lttng-sessiond/agent-thread.cpp index 6abcb8fb3..f641ed78e 100644 --- a/src/bin/lttng-sessiond/agent-thread.cpp +++ b/src/bin/lttng-sessiond/agent-thread.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -73,27 +74,28 @@ static void update_agent_app(const struct agent_app *app) if (session->ust_session) { const struct agent *agt; - rcu_read_lock(); + lttng::urcu::read_lock_guard read_lock; agt = trace_ust_find_agent(session->ust_session, app->domain); if (agt) { agent_update(agt, app); } - rcu_read_unlock(); } session_unlock(session); session_put(session); } - rcu_read_lock(); - /* - * We are protected against the addition of new events by the session - * list lock being held. - */ - cds_lfht_for_each_entry ( - the_trigger_agents_ht_by_domain->ht, &iter.iter, trigger_agent, node.node) { - agent_update(trigger_agent, app); + { + /* + * We are protected against the addition of new events by the session + * list lock being held. + */ + lttng::urcu::read_lock_guard read_lock; + + cds_lfht_for_each_entry ( + the_trigger_agents_ht_by_domain->ht, &iter.iter, trigger_agent, node.node) { + agent_update(trigger_agent, app); + } } - rcu_read_unlock(); } /*