return ret_code;
}
-int cmd_list_triggers(struct command_ctx *cmd_ctx,
+enum lttng_error_code cmd_list_triggers(struct command_ctx *cmd_ctx,
struct notification_thread_handle *notification_thread,
struct lttng_triggers **return_triggers)
{
- int ret = 0;
enum lttng_error_code ret_code;
struct lttng_triggers *triggers = NULL;
ret_code = notification_thread_command_list_triggers(
notification_thread, cmd_ctx->creds.uid, &triggers);
if (ret_code != LTTNG_OK) {
- ret = ret_code;
goto end;
}
*return_triggers = triggers;
triggers = NULL;
- ret = LTTNG_OK;
+ ret_code = LTTNG_OK;
end:
lttng_triggers_destroy(triggers);
- return ret;
+ return ret_code;
}
enum lttng_error_code cmd_execute_error_query(const struct lttng_credentials *cmd_creds,
{
enum lttng_error_code ret_code;
const struct lttng_trigger *query_target_trigger;
- struct lttng_action *query_target_action = NULL;
+ const struct lttng_action *query_target_action = NULL;
struct lttng_trigger *matching_trigger = NULL;
const char *trigger_name;
uid_t trigger_owner;
case LTTNG_ERROR_QUERY_TARGET_TYPE_TRIGGER:
query_target_trigger = lttng_error_query_trigger_borrow_target(query);
break;
+ case LTTNG_ERROR_QUERY_TARGET_TYPE_CONDITION:
+ query_target_trigger =
+ lttng_error_query_condition_borrow_target(query);
+ break;
case LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION:
query_target_trigger = lttng_error_query_action_borrow_trigger_target(
query);
}
break;
+ case LTTNG_ERROR_QUERY_TARGET_TYPE_CONDITION:
+ {
+ trigger_status = lttng_trigger_condition_add_error_results(
+ matching_trigger, results);
+
+ switch (trigger_status) {
+ case LTTNG_TRIGGER_STATUS_OK:
+ break;
+ default:
+ ret_code = LTTNG_ERR_UNK;
+ goto end;
+ }
+
+ break;
+ }
case LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION:
{
const enum lttng_action_status action_status =