Move code out of main.c and fix some issues
[lttng-tools.git] / src / bin / lttng-sessiond / consumer.h
index 68a51bb6cb6efc2424b0b2bc7427cbec2925963b..1337f32ac0e09e29d39cd5612cfc26e0d0d668c1 100644 (file)
@@ -38,6 +38,15 @@ struct consumer_socket {
         * To use this socket (send/recv), this lock MUST be acquired.
         */
        pthread_mutex_t *lock;
+
+       /*
+        * Indicates if the socket was registered by a third part
+        * (REGISTER_CONSUMER) or is the spawn consumer of the session daemon.
+        * During the destroy phase of a consumer output, we close the socket if
+        * this flag is set to 1 since we don't need the fd anymore.
+        */
+       unsigned int registered;
+
        struct lttng_ht_node_ulong node;
 };
 
@@ -86,6 +95,9 @@ struct consumer_net {
 
        /* Data path for network streaming. */
        struct lttng_uri data;
+
+       /* Flag if network sockets were sent to the consumer. */
+       unsigned int relayd_socks_sent;
 };
 
 /*
@@ -98,8 +110,8 @@ struct consumer_output {
 
        /*
         * The net_seq_index is the index of the network stream on the consumer
-        * side. It's basically the relayd socket file descriptor value so the
-        * consumer can identify which streams goes with which socket.
+        * side. It tells the consumer which streams goes to which relayd with this
+        * index. The relayd sockets are index with it on the consumer side.
         */
        int net_seq_index;
 
@@ -144,8 +156,11 @@ int consumer_send_relayd_socket(int consumer_sock,
                enum lttng_stream_type type);
 int consumer_send_destroy_relayd(struct consumer_socket *sock,
                struct consumer_output *consumer);
+void consumer_output_send_destroy_relayd(struct consumer_output *consumer);
 int consumer_create_socket(struct consumer_data *data,
                struct consumer_output *output);
+int consumer_set_subdir(struct consumer_output *consumer,
+               const char *session_name);
 
 void consumer_init_stream_comm_msg(struct lttcomm_consumer_msg *msg,
                enum lttng_consumer_command cmd,
This page took 0.023837 seconds and 4 git commands to generate.