Rename lttng_event_rule_userspace_probe to lttng_event_rule_kernel_uprobe
[lttng-tools.git] / src / bin / lttng / commands / remove_trigger.c
index 401b597420dcb82407a3203433a9cc8ebc49eb57..5586eb9638aba32157a265887d63de5c23af009e 100644 (file)
@@ -60,7 +60,7 @@ int cmd_remove_trigger(int argc, const char **argv)
 {
        int ret;
        struct argpar_parse_ret argpar_parse_ret = {};
-       const char *id = NULL;
+       const char *name = NULL;
        int i;
        struct lttng_triggers *triggers = NULL;
        unsigned int triggers_count;
@@ -109,17 +109,17 @@ int cmd_remove_trigger(int argc, const char **argv)
                        const struct argpar_item_non_opt *item_non_opt =
                                        (const struct argpar_item_non_opt *) item;
 
-                       if (id) {
+                       if (name) {
                                ERR("Unexpected argument '%s'", item_non_opt->arg);
                                goto error;
                        }
 
-                       id = item_non_opt->arg;
+                       name = item_non_opt->arg;
                }
        }
 
-       if (!id) {
-               ERR("Missing `id` argument.");
+       if (!name) {
+               ERR("Missing `name` argument.");
                goto error;
        }
 
@@ -151,30 +151,38 @@ int cmd_remove_trigger(int argc, const char **argv)
 
                trigger = lttng_triggers_get_at_index(triggers, i);
                trigger_status = lttng_trigger_get_name(trigger, &trigger_name);
-               assert(trigger_status == LTTNG_TRIGGER_STATUS_OK);
+               switch (trigger_status) {
+               case LTTNG_TRIGGER_STATUS_OK:
+                       break;
+               case LTTNG_TRIGGER_STATUS_UNSET:
+                       /* Don't compare against anonymous triggers. */
+                       continue;
+               default:
+                       abort();
+               }
 
                trigger_status = lttng_trigger_get_owner_uid(
                                trigger, &trigger_uid);
                assert(trigger_status == LTTNG_TRIGGER_STATUS_OK);
 
-               if (trigger_uid == uid && strcmp(trigger_name, id) == 0) {
+               if (trigger_uid == uid && strcmp(trigger_name, name) == 0) {
                        trigger_to_remove = trigger;
                        break;
                }
        }
 
        if (!trigger_to_remove) {
-               ERR("Couldn't find trigger with id `%s`.", id);
+               ERR("Couldn't find trigger with name `%s`.", name);
                goto error;
        }
 
        ret = lttng_unregister_trigger(trigger_to_remove);
        if (ret != 0) {
-               ERR("Failed to unregister trigger `%s`.", id);
+               ERR("Failed to unregister trigger `%s`.", name);
                goto error;
        }
 
-       MSG("Removed trigger `%s`.", id);
+       MSG("Removed trigger `%s`.", name);
 
        ret = 0;
        goto end;
This page took 0.026029 seconds and 4 git commands to generate.