sessiond: action-executor: Missing notify header
[lttng-tools.git] / src / bin / lttng-sessiond / action-executor.c
index 27f0e472305b6a7a3eb5cafbb50fe8057d0392b5..69bf1f1d3ff7c4a5ebf607f8f93e36d7cffd58d6 100644 (file)
@@ -16,6 +16,7 @@
 #include <common/optional.h>
 #include <lttng/action/action-internal.h>
 #include <lttng/action/group.h>
+#include <lttng/action/notify-internal.h>
 #include <lttng/action/notify.h>
 #include <lttng/action/rotate-session.h>
 #include <lttng/action/snapshot-session.h>
@@ -425,9 +426,9 @@ static int action_executor_snapshot_session_handler(struct action_executor *exec
        session_lock_list();
        session = session_find_by_name(session_name);
        if (!session) {
-               DBG("Failed to find session `%s` by name while executing `%s` action of trigger `%p`",
+               DBG("Failed to find session `%s` by name while executing `%s` action of trigger `%s`",
                                session_name, get_action_name(action),
-                   work_item->trigger);
+                               get_trigger_name(work_item->trigger));
                goto error_unlock_list;
        }
 
@@ -501,7 +502,7 @@ static int action_executor_generic_handler(struct action_executor *executor,
 
        assert(action_type != LTTNG_ACTION_TYPE_UNKNOWN);
 
-       DBG("Executing action `%s` of trigger `%p` action work item %" PRIu64,
+       DBG("Executing action `%s` of trigger `%s` action work item %" PRIu64,
                        get_action_name(action),
                        get_trigger_name(work_item->trigger),
                        work_item->id);
@@ -601,8 +602,10 @@ static bool shutdown_action_executor_thread(void *_data)
 {
        struct action_executor *executor = _data;
 
+       pthread_mutex_lock(&executor->work.lock);
        executor->should_quit = true;
        pthread_cond_signal(&executor->work.cond);
+       pthread_mutex_unlock(&executor->work.lock);
        return true;
 }
 
@@ -690,7 +693,7 @@ enum action_executor_status action_executor_enqueue(
 
        work_item = zmalloc(sizeof(*work_item));
        if (!work_item) {
-               PERROR("Failed to allocate action executor work item on behalf of trigger `%p`",
+               PERROR("Failed to allocate action executor work item on behalf of trigger `%s`",
                                get_trigger_name(trigger));
                executor_status = ACTION_EXECUTOR_STATUS_ERROR;
                goto error_unlock;
@@ -721,15 +724,15 @@ enum action_executor_status action_executor_enqueue(
        evaluation = NULL;
        cds_list_add_tail(&work_item->list_node, &executor->work.list);
        executor->work.pending_count++;
-       DBG("Enqueued action for trigger `%p` as work item %" PRIu64,
+       DBG("Enqueued action for trigger `%s` as work item #%" PRIu64,
                        get_trigger_name(trigger), work_item_id);
        signal = true;
 
 error_unlock:
-       pthread_mutex_unlock(&executor->work.lock);
        if (signal) {
                pthread_cond_signal(&executor->work.cond);
        }
+       pthread_mutex_unlock(&executor->work.lock);
 
        lttng_evaluation_destroy(evaluation);
        return executor_status;
This page took 0.024402 seconds and 4 git commands to generate.