X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fevent.c;h=bfca8be6bba17372efa7c2762e4c428374bf5bc0;hb=90c106c686bee2d1dedf1496140f9291d3b16799;hp=84375d3b4c90fe052617468de553ebf460e0f63a;hpb=fc4b93fa8aa36b19caad0f8dc4a6a3237fcc36bf;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/event.c b/src/bin/lttng-sessiond/event.c index 84375d3b4..bfca8be6b 100644 --- a/src/bin/lttng-sessiond/event.c +++ b/src/bin/lttng-sessiond/event.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 David Goulet + * Copyright (C) 2011 EfficiOS Inc. * Copyright (C) 2016 Jérémie Galarneau * * SPDX-License-Identifier: GPL-2.0-only @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include #include @@ -179,7 +179,7 @@ int event_ust_enable_tracepoint(struct ltt_ust_session *usess, filter = NULL; exclusion = NULL; if (ret != LTTNG_OK) { - goto error; + goto end; } /* Valid to set it after the goto error since uevent is still NULL */ @@ -214,11 +214,10 @@ int event_ust_enable_tracepoint(struct ltt_ust_session *usess, if (ret < 0) { if (ret == -LTTNG_UST_ERR_EXIST) { ret = LTTNG_ERR_UST_EVENT_EXIST; - goto end; } else { ret = LTTNG_ERR_UST_ENABLE_FAIL; - goto error; } + goto end; } DBG("Event UST %s %s in channel %s", uevent->attr.name, @@ -232,24 +231,6 @@ end: free(filter); free(exclusion); return ret; - -error: - /* - * Only destroy event on creation time (not enabling time) because if the - * event is found in the channel (to_create == 0), it means that at some - * point the enable_event worked and it's thus valid to keep it alive. - * Destroying it also implies that we also destroy it's shadow copy to sync - * everyone up. - */ - if (to_create) { - /* In this code path, the uevent was not added to the hash table */ - trace_ust_destroy_event(uevent); - } - rcu_read_unlock(); - free(filter_expression); - free(filter); - free(exclusion); - return ret; } /* @@ -592,7 +573,7 @@ int trigger_agent_enable(const struct lttng_trigger *trigger, struct agent *agt) t_status = lttng_trigger_get_name(trigger, &trigger_name); if (t_status != LTTNG_TRIGGER_STATUS_OK) { - trigger_name = "(unnamed)"; + trigger_name = "(anonymous)"; } t_status = lttng_trigger_get_owner_uid(trigger, &trigger_owner_uid); @@ -601,13 +582,21 @@ int trigger_agent_enable(const struct lttng_trigger *trigger, struct agent *agt) condition = lttng_trigger_get_const_condition(trigger); assert(lttng_condition_get_type(condition) == - LTTNG_CONDITION_TYPE_EVENT_RULE_HIT); + LTTNG_CONDITION_TYPE_EVENT_RULE_MATCHES); - c_status = lttng_condition_event_rule_get_rule(condition, &rule); + c_status = lttng_condition_event_rule_matches_get_rule( + condition, &rule); assert(c_status == LTTNG_CONDITION_STATUS_OK); - assert(lttng_event_rule_get_type(rule) == - LTTNG_EVENT_RULE_TYPE_TRACEPOINT); + switch (lttng_event_rule_get_type(rule)) { + case LTTNG_EVENT_RULE_TYPE_JUL_LOGGING: + case LTTNG_EVENT_RULE_TYPE_LOG4J_LOGGING: + case LTTNG_EVENT_RULE_TYPE_PYTHON_LOGGING: + break; + default: + abort(); + break; + } d_type = lttng_event_rule_get_domain_type(rule); assert(d_type == agt->domain);