Fix: add missing rcu read side lock
[lttng-tools.git] / src / bin / lttng-sessiond / ust-consumer.c
index c1af765c9ab9821a855666da2613e96d6af16aab..ffa6429375b3d7c60d67f6545ce5c4a8e7d8d4e5 100644 (file)
@@ -57,17 +57,23 @@ static int send_channel(struct consumer_socket *sock,
                        uchan->name,
                        uchan->streams.count);
 
+       health_code_update(&health_thread_cmd);
+
        ret = consumer_send_channel(sock, &msg);
        if (ret < 0) {
                goto error;
        }
 
+       health_code_update(&health_thread_cmd);
+
        fd = uchan->obj->shm_fd;
        ret = consumer_send_fds(sock, &fd, 1);
        if (ret < 0) {
                goto error;
        }
 
+       health_code_update(&health_thread_cmd);
+
 error:
        return ret;
 }
@@ -77,7 +83,7 @@ error:
  */
 static int send_channel_stream(struct consumer_socket *sock,
                struct ust_app_channel *uchan, struct ust_app_session *usess,
-               struct ltt_ust_stream *stream, struct consumer_output *consumer,
+               struct ust_app_stream *stream, struct consumer_output *consumer,
                const char *pathname)
 {
        int ret, fds[2];
@@ -108,6 +114,8 @@ static int send_channel_stream(struct consumer_socket *sock,
                        pathname,
                        usess->id);
 
+       health_code_update(&health_thread_cmd);
+
        /* Send stream and file descriptor */
        fds[0] = stream->obj->shm_fd;
        fds[1] = stream->obj->wait_fd;
@@ -116,6 +124,8 @@ static int send_channel_stream(struct consumer_socket *sock,
                goto error;
        }
 
+       health_code_update(&health_thread_cmd);
+
 error:
        return ret;
 }
@@ -130,7 +140,7 @@ static int send_channel_streams(struct consumer_socket *sock,
        int ret;
        char tmp_path[PATH_MAX];
        const char *pathname;
-       struct ltt_ust_stream *stream, *tmp;
+       struct ust_app_stream *stream, *tmp;
 
        assert(sock);
 
@@ -220,11 +230,15 @@ static int send_metadata(struct consumer_socket *sock,
                        "metadata",
                        1);
 
+       health_code_update(&health_thread_cmd);
+
        ret = consumer_send_channel(sock, &msg);
        if (ret < 0) {
                goto error;
        }
 
+       health_code_update(&health_thread_cmd);
+
        /* Sending metadata shared memory fd */
        fd = usess->metadata->obj->shm_fd;
        ret = consumer_send_fds(sock, &fd, 1);
@@ -232,6 +246,8 @@ static int send_metadata(struct consumer_socket *sock,
                goto error;
        }
 
+       health_code_update(&health_thread_cmd);
+
        /* Get correct path name destination */
        if (consumer->type == CONSUMER_DST_LOCAL) {
                /* Set application path to the destination path */
@@ -277,6 +293,8 @@ static int send_metadata(struct consumer_socket *sock,
                        pathname,
                        usess->id);
 
+       health_code_update(&health_thread_cmd);
+
        /* Send stream and file descriptor */
        fds[0] = usess->metadata->stream_obj->shm_fd;
        fds[1] = usess->metadata->stream_obj->wait_fd;
@@ -285,6 +303,8 @@ static int send_metadata(struct consumer_socket *sock,
                goto error;
        }
 
+       health_code_update(&health_thread_cmd);
+
 error:
        return ret;
 }
This page took 0.024593 seconds and 4 git commands to generate.