Implement UST destroy session
[lttng-tools.git] / lttng-sessiond / ust-consumer.c
index df569368ae04f2e8faafb1b9ebbfde069fc618aa..866d7bd56bc199e8bed90b2e3abc1ec88f48a070 100644 (file)
@@ -46,8 +46,11 @@ static int send_channel_streams(int sock,
        lum.cmd_type = LTTNG_CONSUMER_ADD_CHANNEL;
 
        /*
-        * We need to keep shm_fd open to make sure this key stays unique within
-        * the session daemon.
+        * We need to keep shm_fd open while we transfer the stream file
+        * descriptors to make sure this key stays unique within the
+        * session daemon. We can free the channel shm_fd without
+        * problem after we finished sending stream fds for that
+        * channel.
         */
        lum.u.channel.channel_key = uchan->obj->shm_fd;
        lum.u.channel.max_sb_size = uchan->attr.subbuf_size;
@@ -97,18 +100,7 @@ static int send_channel_streams(int sock,
                        perror("send consumer stream ancillary data");
                        goto error;
                }
-
-               /*
-                * We release the stream object here, as we have passed
-                * it to the consumer.
-                */
-               /* Ensure we don't let the app know (sock = -1). */
-               ustctl_release_object(-1, stream->obj);
-               cds_list_del(&stream->list);
-               free(stream);
        }
-       /* Ensure we don't let the app know (sock = -1). */
-       ustctl_release_object(-1, uchan->obj);
 
        DBG("consumer channel streams sent");
 
@@ -176,10 +168,6 @@ int ust_consumer_send_session(int consumer_fd, struct ust_app_session *usess)
                        perror("send consumer stream");
                        goto error;
                }
-               /* Metadata fds passed to consumer, release them. */
-               /* Ensure we don't let the app know (sock = -1). */
-               ustctl_release_object(-1, usess->metadata->stream_obj);
-               ustctl_release_object(-1, usess->metadata->obj);
        }
 
        /* Send each channel fd streams of session */
This page took 0.024194 seconds and 4 git commands to generate.