Fix: All perror turned into PERROR to show file and line number
[lttng-tools.git] / src / bin / lttng-sessiond / ust-consumer.c
index 63381cea4df702a4bf998702fdbead9429fd8275..ee54e79850560d6f4866c177716aeddae3b542df 100644 (file)
 #include <string.h>
 #include <unistd.h>
 
-#include <common/lttngerr.h>
 #include <common/common.h>
+#include <common/consumer.h>
 #include <common/defaults.h>
 #include <common/sessiond-comm/sessiond-comm.h>
-#include <common/consumer.h>
 
 #include "ust-consumer.h"
 
@@ -59,13 +58,13 @@ static int send_channel_streams(int sock,
        DBG("Sending channel %d to consumer", lum.u.channel.channel_key);
        ret = lttcomm_send_unix_sock(sock, &lum, sizeof(lum));
        if (ret < 0) {
-               perror("send consumer channel");
+               PERROR("send consumer channel");
                goto error;
        }
        fd = uchan->obj->shm_fd;
        ret = lttcomm_send_fds_unix_sock(sock, &fd, 1);
        if (ret < 0) {
-               perror("send consumer channel ancillary data");
+               PERROR("send consumer channel ancillary data");
                goto error;
        }
 
@@ -92,7 +91,7 @@ static int send_channel_streams(int sock,
                DBG("Sending stream %d to consumer", lum.u.stream.stream_key);
                ret = lttcomm_send_unix_sock(sock, &lum, sizeof(lum));
                if (ret < 0) {
-                       perror("send consumer stream");
+                       PERROR("send consumer stream");
                        goto error;
                }
 
@@ -100,7 +99,7 @@ static int send_channel_streams(int sock,
                fds[1] = stream->obj->wait_fd;
                ret = lttcomm_send_fds_unix_sock(sock, fds, 2);
                if (ret < 0) {
-                       perror("send consumer stream ancillary data");
+                       PERROR("send consumer stream ancillary data");
                        goto error;
                }
        }
@@ -143,13 +142,13 @@ int ust_consumer_send_session(int consumer_fd, struct ust_app_session *usess)
                DBG("Sending metadata channel %d to consumer", lum.u.channel.channel_key);
                ret = lttcomm_send_unix_sock(sock, &lum, sizeof(lum));
                if (ret < 0) {
-                       perror("send consumer channel");
+                       PERROR("send consumer channel");
                        goto error;
                }
                fd = usess->metadata->obj->shm_fd;
                ret = lttcomm_send_fds_unix_sock(sock, &fd, 1);
                if (ret < 0) {
-                       perror("send consumer metadata channel");
+                       PERROR("send consumer metadata channel");
                        goto error;
                }
 
@@ -167,14 +166,14 @@ int ust_consumer_send_session(int consumer_fd, struct ust_app_session *usess)
                DBG("Sending metadata stream %d to consumer", lum.u.stream.stream_key);
                ret = lttcomm_send_unix_sock(sock, &lum, sizeof(lum));
                if (ret < 0) {
-                       perror("send consumer metadata stream");
+                       PERROR("send consumer metadata stream");
                        goto error;
                }
                fds[0] = usess->metadata->stream_obj->shm_fd;
                fds[1] = usess->metadata->stream_obj->wait_fd;
                ret = lttcomm_send_fds_unix_sock(sock, fds, 2);
                if (ret < 0) {
-                       perror("send consumer stream");
+                       PERROR("send consumer stream");
                        goto error;
                }
        }
@@ -183,6 +182,14 @@ int ust_consumer_send_session(int consumer_fd, struct ust_app_session *usess)
        rcu_read_lock();
        cds_lfht_for_each_entry(usess->channels->ht, &iter.iter, ua_chan,
                        node.node) {
+               /*
+                * Indicate that the channel was not created on the tracer side so skip
+                * sending unexisting streams.
+                */
+               if (ua_chan->obj == NULL) {
+                       continue;
+               }
+
                ret = send_channel_streams(sock, ua_chan, usess->uid, usess->gid);
                if (ret < 0) {
                        rcu_read_unlock();
This page took 0.024788 seconds and 4 git commands to generate.