X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fcmd.cpp;h=60ae7fe6aa7632057962a1172fc2b571032bc075;hb=dcd24bbf7dbc74e3584d1d0d52715e749023c452;hp=79cb6fed89398e00833f2ea27620090eba09e81e;hpb=5b9eda8a30a21a1c9de4572dd2b397c7cf923fa1;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/cmd.cpp b/src/bin/lttng-sessiond/cmd.cpp index 79cb6fed8..60ae7fe6a 100644 --- a/src/bin/lttng-sessiond/cmd.cpp +++ b/src/bin/lttng-sessiond/cmd.cpp @@ -484,14 +484,22 @@ static enum lttng_error_code list_lttng_ust_global_events(char *channel_name, tmp_event->exclusion = 1; } + std::vector exclusion_names; + if (uevent->exclusion) { + for (int i = 0; i < uevent->exclusion->count; i++) { + exclusion_names.emplace_back( + LTTNG_EVENT_EXCLUSION_NAME_AT(uevent->exclusion, i)); + } + } + /* * We do not care about the filter bytecode and the fd from the * userspace_probe_location. */ ret = lttng_event_serialize(tmp_event, - uevent->exclusion ? uevent->exclusion->count : 0, - uevent->exclusion ? (char **) uevent->exclusion->names : - nullptr, + exclusion_names.size(), + exclusion_names.size() ? exclusion_names.data() : + nullptr, uevent->filter_expression, 0, nullptr, @@ -2087,6 +2095,12 @@ static int _cmd_enable_event(struct ltt_session *session, } } + /* Normalize loglevel value to simplify comparisons. */ + if (event->loglevel_type == LTTNG_EVENT_LOGLEVEL_ALL) { + /* Ignore the user-specified value; it has no meaning. */ + event->loglevel = -1; + } + DBG("Enable event command for event \'%s\'", event->name); lttng::urcu::read_lock_guard read_lock; @@ -2330,6 +2344,7 @@ static int _cmd_enable_event(struct ltt_session *session, memset(&uevent, 0, sizeof(uevent)); uevent.type = LTTNG_EVENT_TRACEPOINT; uevent.loglevel_type = LTTNG_EVENT_LOGLEVEL_ALL; + uevent.loglevel = -1; default_event_name = event_get_default_agent_ust_name(domain->type); if (!default_event_name) { ret = LTTNG_ERR_FATAL;