projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: add missing UST perf counter support check
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
trace-ust.c
diff --git
a/src/bin/lttng-sessiond/trace-ust.c
b/src/bin/lttng-sessiond/trace-ust.c
index b9fdf9f0af213bbf9f402b297df9dbc9308ce9b1..4f06f1b06d149635080e99edc616978cca3ae7ba 100644
(file)
--- 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_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");
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) {
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();
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) {
/* Cleanup UID buffer registry object(s). */
cds_list_for_each_entry_safe(reg, sreg, &session->buffer_reg_uid_list,
lnode) {
This page took
0.023915 seconds
and
4
git commands to generate.