X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fnotification-thread-events.cpp;h=70774a97530b1b625033387c2215ab052e47bf54;hb=46d51dbdc8b9c93871c34416006cf7f28b987c90;hp=ab0fa84ce0d197dad29eb9c351acbb853feaa89f;hpb=2460203ad4c64f0dcdb716e833abee10a79ec092;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/notification-thread-events.cpp b/src/bin/lttng-sessiond/notification-thread-events.cpp index ab0fa84ce..70774a975 100644 --- a/src/bin/lttng-sessiond/notification-thread-events.cpp +++ b/src/bin/lttng-sessiond/notification-thread-events.cpp @@ -2503,7 +2503,6 @@ static bool is_trigger_action_notify(const struct lttng_trigger *trigger) { bool is_notify = false; const struct lttng_action *action = lttng_trigger_get_const_action(trigger); - const struct lttng_action *inner_action; enum lttng_action_type action_type; LTTNG_ASSERT(action); @@ -2515,7 +2514,7 @@ static bool is_trigger_action_notify(const struct lttng_trigger *trigger) goto end; } - for_each_action_const (inner_action, action) { + for (auto inner_action : lttng::ctl::const_action_list_view(action)) { if (lttng_action_get_type(inner_action) == LTTNG_ACTION_TYPE_NOTIFY) { is_notify = true; goto end; @@ -3312,21 +3311,24 @@ int handle_notification_thread_command(struct notification_thread_handle *handle if (ret) { goto error_unlock; } + end: if (cmd->is_async) { - free(cmd); + delete cmd; cmd = nullptr; } else { - lttng_waiter_wake_up(&cmd->reply_waiter); + cmd->command_completed_waker->wake(); } + return ret; + error_unlock: /* Wake-up and return a fatal error to the calling thread. */ - lttng_waiter_wake_up(&cmd->reply_waiter); cmd->reply_code = LTTNG_ERR_FATAL; + error: - /* Indicate a fatal error to the caller. */ - return -1; + ret = -1; + goto end; } static int socket_set_non_blocking(int socket)