X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconfig%2Fconfig.c;h=86b1be8b5c41c218cc2f6252188410e2ce2a741e;hb=fd20dac985126e84929d657f5a1042222c7d5017;hp=f93c5a678f12df5e8024bc21197a7900df12ce84;hpb=6c1c0768320135c6936c371b09731851b508c023;p=lttng-tools.git diff --git a/src/common/config/config.c b/src/common/config/config.c index f93c5a678..86b1be8b5 100644 --- a/src/common/config/config.c +++ b/src/common/config/config.c @@ -1284,7 +1284,7 @@ int create_session(const char *name, int i; struct lttng_domain *domain; struct lttng_domain *domains[] = - { kernel_domain, ust_domain, jul_domain, log4j_domain}; + { kernel_domain, ust_domain, jul_domain, log4j_domain }; /* network destination */ if (live_timer_interval && live_timer_interval != UINT64_MAX) { @@ -1640,6 +1640,24 @@ int process_event_node(xmlNodePtr event_node, struct lttng_handle *handle, ret = lttng_enable_event_with_exclusions(handle, &event, channel_name, filter_expression, exclusion_count, exclusions); + if (ret) { + goto end; + } + + if (!event.enabled) { + /* + * Note that we should use lttng_disable_event_ext() (2.6+) to + * eliminate the risk of clashing on events of the same + * name (with different event types and loglevels). + * + * Unfortunately, lttng_disable_event_ext() only performs a + * match on the name and event type and errors out if any other + * event attribute is not set to its default value. + * + * This will disable all events that match this name. + */ + ret = lttng_disable_event(handle, event.name, channel_name); + } end: for (i = 0; i < exclusion_count; i++) { free(exclusions[i]);