X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fconfig%2Fconfig.c;h=431cd2989b1329bb400ad6658bd8bda2610dc89a;hp=f93c5a678f12df5e8024bc21197a7900df12ce84;hb=065321e96273c671652d316800faacf2ed20025e;hpb=9b7431cfd4e61bc2b1e3bc859d5a6a79de9aa0ed diff --git a/src/common/config/config.c b/src/common/config/config.c index f93c5a678..431cd2989 100644 --- a/src/common/config/config.c +++ b/src/common/config/config.c @@ -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]);