relayd: add remote trace chunk creation command
[lttng-tools.git] / src / bin / lttng-sessiond / session.c
index 4a15c9a9ad53eac1106c01f380bea8f70c114985..61cbb0c1af2f3e10abed78c1394de238706597dd 100644 (file)
@@ -429,8 +429,6 @@ int _session_set_trace_chunk_no_lock_check(struct ltt_session *session,
        struct lttng_trace_chunk *current_trace_chunk;
        uint64_t chunk_id;
        enum lttng_trace_chunk_status chunk_status;
-       const uint64_t relayd_id = session->consumer->net_seq_index;
-       const bool is_local_trace = relayd_id  == -1ULL;
 
        rcu_read_lock();
        /*
@@ -470,6 +468,12 @@ int _session_set_trace_chunk_no_lock_check(struct ltt_session *session,
        }
 
        if (session->ust_session) {
+               const uint64_t relayd_id =
+                               session->ust_session->consumer->net_seq_index;
+               const bool is_local_trace =
+                               session->ust_session->consumer->type ==
+                               CONSUMER_DST_LOCAL;
+
                session->ust_session->current_trace_chunk = new_trace_chunk;
                 if (is_local_trace) {
                        enum lttng_error_code ret_error_code;
@@ -495,6 +499,12 @@ int _session_set_trace_chunk_no_lock_check(struct ltt_session *session,
                 }
         }
        if (session->kernel_session) {
+               const uint64_t relayd_id =
+                               session->kernel_session->consumer->net_seq_index;
+               const bool is_local_trace =
+                               session->kernel_session->consumer->type ==
+                               CONSUMER_DST_LOCAL;
+
                session->kernel_session->current_trace_chunk = new_trace_chunk;
                if (is_local_trace) {
                        enum lttng_error_code ret_error_code;
@@ -772,7 +782,7 @@ void session_release(struct urcu_ref *ref)
        ksess = session->kernel_session;
 
        session_notify_destruction(session);
-       lttng_dynamic_array_reset(&session->destroy_notifiers, NULL);
+       lttng_dynamic_array_reset(&session->destroy_notifiers);
        if (session->current_trace_chunk) {
                ret = session_close_trace_chunk(session, session->current_trace_chunk);
                if (ret) {
@@ -977,7 +987,8 @@ enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
        }
 
        lttng_dynamic_array_init(&new_session->destroy_notifiers,
-                       sizeof(struct ltt_session_destroy_notifier_element));
+                       sizeof(struct ltt_session_destroy_notifier_element),
+                       NULL);
        urcu_ref_init(&new_session->ref);
        pthread_mutex_init(&new_session->lock, NULL);
 
This page took 0.030384 seconds and 5 git commands to generate.