waiter: modernize the waiter interface
[lttng-tools.git] / src / bin / lttng-sessiond / notification-thread-events.cpp
index 58a38cce191d7b720861d14e8aa96161cfc7a008..70774a97530b1b625033387c2215ab052e47bf54 100644 (file)
@@ -2502,8 +2502,6 @@ end:
 static bool is_trigger_action_notify(const struct lttng_trigger *trigger)
 {
        bool is_notify = false;
-       unsigned int i, count;
-       enum lttng_action_status action_status;
        const struct lttng_action *action = lttng_trigger_get_const_action(trigger);
        enum lttng_action_type action_type;
 
@@ -2516,14 +2514,8 @@ static bool is_trigger_action_notify(const struct lttng_trigger *trigger)
                goto end;
        }
 
-       action_status = lttng_action_list_get_count(action, &count);
-       LTTNG_ASSERT(action_status == LTTNG_ACTION_STATUS_OK);
-
-       for (i = 0; i < count; i++) {
-               const struct lttng_action *inner_action = lttng_action_list_get_at_index(action, i);
-
-               action_type = lttng_action_get_type(inner_action);
-               if (action_type == LTTNG_ACTION_TYPE_NOTIFY) {
+       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;
                }
@@ -3319,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)
This page took 0.024181 seconds and 4 git commands to generate.