Fix: tests: fix unused-but-set warning in test_fd_tracker.c
[lttng-tools.git] / src / bin / lttng-sessiond / trigger-error-query.c
index bc8e7f688b6e4b3071617047ca3e314b6d34a19d..8c39e1b0655326bf83b587877c47fa17bf7f4d82 100644 (file)
 #include <lttng/trigger/trigger-internal.h>
 #include <lttng/action/action-internal.h>
 
-LTTNG_HIDDEN
 enum lttng_trigger_status lttng_trigger_add_error_results(
                const struct lttng_trigger *trigger,
                struct lttng_error_query_results *results)
+{
+       return LTTNG_TRIGGER_STATUS_OK;
+}
+
+enum lttng_trigger_status lttng_trigger_condition_add_error_results(
+               const struct lttng_trigger *trigger,
+               struct lttng_error_query_results *results)
 {
        enum lttng_trigger_status status;
        uint64_t discarded_tracer_messages_count;
@@ -24,15 +30,26 @@ enum lttng_trigger_status lttng_trigger_add_error_results(
 
        status = lttng_trigger_get_name(trigger, &trigger_name);
        trigger_name = status == LTTNG_TRIGGER_STATUS_OK ?
-                       trigger_name : "(unnamed)";
+                       trigger_name : "(anonymous)";
        status = lttng_trigger_get_owner_uid(trigger,
                        &trigger_owner);
-       assert(status == LTTNG_TRIGGER_STATUS_OK);
+       LTTNG_ASSERT(status == LTTNG_TRIGGER_STATUS_OK);
+
+       /*
+        * Only add discarded tracer messages count for applicable conditions.
+        * As of 2.13, only "event rule matches" conditions can generate
+        * reportable errors hence why this function is very specific to this
+        * condition type.
+        */
+       if (!lttng_trigger_needs_tracer_notifier(trigger)) {
+               status = LTTNG_TRIGGER_STATUS_OK;
+               goto end;
+       }
 
        error_accounting_status = event_notifier_error_accounting_get_count(
                        trigger, &discarded_tracer_messages_count);
        if (error_accounting_status != EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_OK) {
-               ERR("Failed to retrieve tracer discarded messages count for triger: triggger name = '%s', trigger owner uid = %d",
+               ERR("Failed to retrieve tracer discarded messages count for trigger: trigger name = '%s', trigger owner uid = %d",
                                trigger_name, (int) trigger_owner);
                status = LTTNG_TRIGGER_STATUS_ERROR;
                goto end;
@@ -62,7 +79,6 @@ end:
        return status;
 }
 
-LTTNG_HIDDEN
 enum lttng_trigger_status lttng_trigger_add_action_error_query_results(
                struct lttng_trigger *trigger,
                struct lttng_error_query_results *results)
@@ -74,17 +90,16 @@ enum lttng_trigger_status lttng_trigger_add_action_error_query_results(
 
        status = lttng_trigger_get_name(trigger, &trigger_name);
        trigger_name = status == LTTNG_TRIGGER_STATUS_OK ?
-                       trigger_name : "(unnamed)";
+                       trigger_name : "(anonymous)";
        status = lttng_trigger_get_owner_uid(trigger,
                        &trigger_owner);
-       assert(status == LTTNG_TRIGGER_STATUS_OK);
+       LTTNG_ASSERT(status == LTTNG_TRIGGER_STATUS_OK);
 
        action_status = lttng_action_add_error_query_results(
                        lttng_trigger_get_action(trigger), results);
        switch (action_status) {
        case LTTNG_ACTION_STATUS_OK:
-               status = LTTNG_TRIGGER_STATUS_OK;
-               goto end;
+               break;
        default:
                status = LTTNG_TRIGGER_STATUS_ERROR;
                goto end;
This page took 0.024528 seconds and 4 git commands to generate.