switch (event->type) {
case LTTNG_EVENT_ALL:
- ret = event_ust_disable_tracepoint(usess, uchan, event_name);
+ if (strlen(event->name) == 1 &&
+ !strncmp(event->name, "*", 1)) {
+ ret = event_ust_disable_all_tracepoints(usess,
+ uchan);
+ } else {
+ ret = event_ust_disable_tracepoint(usess, uchan,
+ event_name);
+ }
if (ret != LTTNG_OK) {
goto error_unlock;
}
DBG("Enable event command for event \'%s\'", event->name);
+ rcu_read_lock();
+
ret = validate_event_name(event->name);
if (ret) {
goto error;
}
- rcu_read_lock();
-
switch (domain->type) {
case LTTNG_DOMAIN_KERNEL:
{
event->type = LTTNG_EVENT_SYSCALL; /* Hack */
ret = event_kernel_enable_event(kchan, event,
filter_expression_a, filter_a);
+ /* We have passed ownership */
+ filter_expression_a = NULL;
+ filter_a = NULL;
if (ret != LTTNG_OK) {
- free(filter_expression_a);
- free(filter_a);
goto error;
}
break;
rcu_read_lock();
cds_lfht_for_each_entry(session->ust_session->agents->ht,
&iter.iter, agt, node.node) {
- nb_event = list_lttng_agent_events(agt, events);
+ if (agt->domain == domain) {
+ nb_event = list_lttng_agent_events(
+ agt, events);
+ break;
+ }
}
rcu_read_unlock();
}