X-Git-Url: http://git.liburcu.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fconfig%2Fconfig.c;h=e5c1da13285af002f39e34d2715f036c9c40d375;hp=bfb2576f4d5bab954b37958d7c1d672bcbfd7c13;hb=17a2eba9827b0985e0e213109298e60ff869ba60;hpb=4e5af4ec270a29b89e494753e12897020c80e02c diff --git a/src/common/config/config.c b/src/common/config/config.c index bfb2576f4..e5c1da132 100644 --- a/src/common/config/config.c +++ b/src/common/config/config.c @@ -1632,6 +1632,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]);