Fix: close and destroy metadata stream after a kernel snapshot
[lttng-tools.git] / src / common / kernel-consumer / kernel-consumer.c
index a6306291af17f153a35c56aa300a4bd51c3ed03b..63ca35d62a26345a7c884faf041d3b489549b0e2 100644 (file)
@@ -370,6 +370,9 @@ int lttng_kconsumer_snapshot_metadata(uint64_t key, char *path,
 
        ret = 0;
 
+       cds_list_del(&metadata_stream->send_node);
+       consumer_stream_destroy(metadata_stream, NULL);
+       metadata_channel->metadata_stream = NULL;
 error:
        rcu_read_unlock();
        return ret;
@@ -956,11 +959,12 @@ int lttng_kconsumer_on_recv_stream(struct lttng_consumer_stream *stream)
        return 0;
 
 error_close_fd:
-       {
+       if (stream->out_fd >= 0) {
                int err;
 
                err = close(stream->out_fd);
                assert(!err);
+               stream->out_fd = -1;
        }
 error:
        return ret;
This page took 0.023194 seconds and 4 git commands to generate.