X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-consumer.c;h=9a4c47d839a60d14d78df5f599f55bf4936c6310;hp=605870d52028c77f852ef6b6b091e24047d97cd2;hb=8010679a3797cde3e1ffd91c72c6ed44cc4af930;hpb=ee6b7fb274d27a8f7f69f69cb195cad9c5df8a40;ds=sidebyside diff --git a/lttng-sessiond/ust-consumer.c b/lttng-sessiond/ust-consumer.c index 605870d52..9a4c47d83 100644 --- a/lttng-sessiond/ust-consumer.c +++ b/lttng-sessiond/ust-consumer.c @@ -36,8 +36,7 @@ static int send_channel_streams(int sock, struct ust_app_channel *uchan) { - int ret, fds[2]; - struct ltt_ust_stream *stream; + int ret, fd; struct lttcomm_consumer_msg lum; struct cds_lfht_iter iter; struct cds_lfht_node *node; @@ -60,26 +59,23 @@ static int send_channel_streams(int sock, perror("send consumer channel"); goto error; } - fds[0] = uchan->obj->shm_fd; - fds[1] = uchan->obj->wait_fd; - ret = lttcomm_send_fds_unix_sock(sock, fds, 2); + fd = uchan->obj->shm_fd; + ret = lttcomm_send_fds_unix_sock(sock, &fd, 1); if (ret < 0) { perror("send consumer channel ancillary data"); goto error; } - rcu_read_lock(); hashtable_get_first(uchan->streams, &iter); while ((node = hashtable_iter_get_node(&iter)) != NULL) { - stream = caa_container_of(node, struct ltt_ust_stream, node); - + struct ltt_ust_stream *stream = + caa_container_of(node, struct ltt_ust_stream, node); int fds[2]; if (!stream->obj->shm_fd) { goto next; } - lum.cmd_type = LTTNG_CONSUMER_ADD_STREAM; lum.u.stream.channel_key = uchan->obj->shm_fd; lum.u.stream.stream_key = stream->obj->shm_fd; @@ -131,6 +127,7 @@ int ust_consumer_send_session(int consumer_fd, struct ust_app_session *usess) DBG("Sending metadata stream fd"); if (usess->metadata->obj->shm_fd != 0) { + int fd; int fds[2]; /* Send metadata channel fd */ @@ -144,9 +141,8 @@ int ust_consumer_send_session(int consumer_fd, struct ust_app_session *usess) perror("send consumer channel"); goto error; } - fds[0] = usess->metadata->obj->shm_fd; - fds[1] = usess->metadata->obj->wait_fd; - ret = lttcomm_send_fds_unix_sock(sock, fds, 2); + fd = usess->metadata->obj->shm_fd; + ret = lttcomm_send_fds_unix_sock(sock, &fd, 1); if (ret < 0) { perror("send consumer metadata channel"); goto error;