Fix: missing skip based on metadata_dumped flag of the channel object
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Thu, 11 Aug 2022 16:33:54 +0000 (12:33 -0400)
committerJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Mon, 15 Aug 2022 18:31:14 +0000 (14:31 -0400)
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Change-Id: I066d68cd385bbad28d4f3d1bfcfbaf2ebb34b988

src/ctf2.c

index 9cd09c816a7d7f2503c82663f8ef82e24609d558..0ec0b94bb529a99b2af32833df0869d19d057ce3 100644 (file)
@@ -1588,6 +1588,14 @@ static int ctf2_metadata_write_data_stream_class_fragment(
 {
        int ret;
 
+       if (chan->priv->metadata_dumped || !LTTNG_READ_ONCE(session->active))
+               return 0;
+
+       if (chan->priv->channel_type == METADATA_CHANNEL)
+               return 0;
+
+       lttng_metadata_begin(session);
+
        ret = ctf2_metadata_write_record_separator(session);
        if (ret)
                goto end;
@@ -1650,7 +1658,10 @@ static int ctf2_metadata_write_data_stream_class_fragment(
 
        ret = lttng_metadata_printf(session, "\n}\n");
 
+       chan->priv->metadata_dumped = 1;
+
 end:
+       lttng_metadata_end(session);
        return ret;
 }
 
This page took 0.025553 seconds and 5 git commands to generate.