X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fbin%2Flttng-sessiond%2Ftrace-ust.c;h=4f06f1b06d149635080e99edc616978cca3ae7ba;hb=354e561be56458c676dcc510926154b248a07f4f;hp=b9fdf9f0af213bbf9f402b297df9dbc9308ce9b1;hpb=49d21f93659c296425c129bc7722bd8255f5c1b1;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/trace-ust.c b/src/bin/lttng-sessiond/trace-ust.c index b9fdf9f0a..4f06f1b06 100644 --- a/src/bin/lttng-sessiond/trace-ust.c +++ b/src/bin/lttng-sessiond/trace-ust.c @@ -470,7 +470,12 @@ int trace_ust_context_type_event_to_ust(enum lttng_event_context_type type) utype = LTTNG_UST_CONTEXT_IP; break; case LTTNG_EVENT_CONTEXT_PERF_THREAD_COUNTER: - utype = LTTNG_UST_CONTEXT_PERF_THREAD_COUNTER; + if (!ustctl_has_perf_counters()) { + utype = -1; + WARN("Perf counters not implemented in UST"); + } else { + utype = LTTNG_UST_CONTEXT_PERF_THREAD_COUNTER; + } break; default: ERR("Invalid UST context"); @@ -759,11 +764,15 @@ void trace_ust_destroy_session(struct ltt_ust_session *session) rcu_read_lock(); cds_lfht_for_each_entry(session->agents->ht, &iter.iter, agt, node.node) { - lttng_ht_del(session->agents, &iter); + int ret = lttng_ht_del(session->agents, &iter); + + assert(!ret); agent_destroy(agt); } rcu_read_unlock(); + ht_cleanup_push(session->agents); + /* Cleanup UID buffer registry object(s). */ cds_list_for_each_entry_safe(reg, sreg, &session->buffer_reg_uid_list, lnode) {