Fix: sessiond: report client list allocation failure as a fatal error
[lttng-tools.git] / src / bin / lttng-sessiond / dispatch.cpp
index 7988f1ba8a212894dc09d7c3e8338f267b6fb221..82bf1c2d3128a026a0d8eb62b18eb9a4b2e70353 100644 (file)
 #include "lttng-sessiond.hpp"
 #include "thread.hpp"
 
+namespace {
 struct thread_notifiers {
        struct ust_cmd_queue *ust_cmd_queue;
        int apps_cmd_pipe_write_fd;
        int apps_cmd_notify_pipe_write_fd;
        int dispatch_thread_exit;
 };
+} /* namespace */
 
 /*
  * For each tracing session, update newly registered apps. The session list
@@ -282,7 +284,7 @@ static void *thread_dispatch_ust_registration(void *data)
                                break;
                        }
 
-                       ust_cmd = caa_container_of(node, struct ust_command, node);
+                       ust_cmd = lttng::utils::container_of(node, &ust_command::node);
 
                        DBG("Dispatching UST registration pid:%d ppid:%d uid:%d"
                                        " gid:%d sock:%d name:%s (version %d.%d)",
@@ -292,7 +294,7 @@ static void *thread_dispatch_ust_registration(void *data)
                                        ust_cmd->reg_msg.major, ust_cmd->reg_msg.minor);
 
                        if (ust_cmd->reg_msg.type == LTTNG_UST_CTL_SOCKET_CMD) {
-                               wait_node = (ust_reg_wait_node *) zmalloc(sizeof(*wait_node));
+                               wait_node = zmalloc<ust_reg_wait_node>();
                                if (!wait_node) {
                                        PERROR("zmalloc wait_node dispatch");
                                        ret = close(ust_cmd->sock);
@@ -474,7 +476,7 @@ error:
                if (node == NULL) {
                        break;
                }
-               ust_cmd = caa_container_of(node, struct ust_command, node);
+               ust_cmd = lttng::utils::container_of(node, &ust_command::node);
                ret = close(ust_cmd->sock);
                if (ret < 0) {
                        PERROR("close ust sock exit dispatch %d", ust_cmd->sock);
@@ -510,7 +512,7 @@ bool launch_ust_dispatch_thread(struct ust_cmd_queue *cmd_queue,
        struct lttng_thread *thread;
        struct thread_notifiers *notifiers;
 
-       notifiers = (thread_notifiers *) zmalloc(sizeof(*notifiers));
+       notifiers = zmalloc<thread_notifiers>();
        if (!notifiers) {
                goto error;
        }
This page took 0.023769 seconds and 4 git commands to generate.