X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fsession.c;h=5a10340a71ab28d67285010cc7a9e311d4b018e9;hb=d222983eed2efddbd4a1380e23bc3f43edfc522e;hp=bb8a55ed78e162d6acd27d074b3e4cb0ff4988df;hpb=def8897149ac794709649d97d72f9b8bc7d71bd8;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/session.c b/src/bin/lttng-sessiond/session.c index bb8a55ed7..5a10340a7 100644 --- a/src/bin/lttng-sessiond/session.c +++ b/src/bin/lttng-sessiond/session.c @@ -143,6 +143,8 @@ void session_unlock_list(void) /* * Allocate the ltt_sessions_ht_by_id HT. + * + * The session list lock must be held. */ int ltt_sessions_ht_alloc(void) { @@ -161,8 +163,10 @@ end: /* * Destroy the ltt_sessions_ht_by_id HT. + * + * The session list lock must be held. */ -void ltt_sessions_ht_destroy(void) +static void ltt_sessions_ht_destroy(void) { if (!ltt_sessions_ht_by_id) { return; @@ -294,17 +298,21 @@ struct ltt_session *session_find_by_id(uint64_t id) struct lttng_ht_iter iter; struct ltt_session *ls; + if (!ltt_sessions_ht_by_id) { + goto end; + } + lttng_ht_lookup(ltt_sessions_ht_by_id, &id, &iter); node = lttng_ht_iter_get_node_u64(&iter); if (node == NULL) { - goto error; + goto end; } ls = caa_container_of(node, struct ltt_session, node); DBG3("Session %" PRIu64 " found by id.", id); return ls; -error: +end: DBG3("Session %" PRIu64 " NOT found by id", id); return NULL; }