Fix: missing skip based on metadata_dumped flag of the channel object
[deliverable/lttng-modules.git] / 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.025099 seconds and 5 git commands to generate.