From: Simon Marchi Date: Tue, 5 Dec 2023 04:57:52 +0000 (+0000) Subject: src.ctf.fs: make ctf_fs_metadata::trace_class a bt2::TraceClass::Shared X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=ded1f3d66f8a5ff2f9af477cab15b39c8d72deec src.ctf.fs: make ctf_fs_metadata::trace_class a bt2::TraceClass::Shared Change-Id: I1ee6a21525757197213c35acfa1f0a17d7052541 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/8284 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12322 Tested-by: jenkins --- diff --git a/src/plugins/ctf/fs-src/fs.cpp b/src/plugins/ctf/fs-src/fs.cpp index bb5d52da..41b311c1 100644 --- a/src/plugins/ctf/fs-src/fs.cpp +++ b/src/plugins/ctf/fs-src/fs.cpp @@ -755,7 +755,7 @@ static ctf_fs_trace::UP ctf_fs_trace_create(const char *path, const char *name, } if (ctf_fs_trace->metadata->trace_class) { - bt_trace *trace = bt_trace_create(ctf_fs_trace->metadata->trace_class); + bt_trace *trace = bt_trace_create(ctf_fs_trace->metadata->trace_class->libObjPtr()); if (!trace) { goto error; } diff --git a/src/plugins/ctf/fs-src/fs.hpp b/src/plugins/ctf/fs-src/fs.hpp index 8db757aa..49223bfe 100644 --- a/src/plugins/ctf/fs-src/fs.hpp +++ b/src/plugins/ctf/fs-src/fs.hpp @@ -27,8 +27,7 @@ struct ctf_fs_metadata /* Owned by this */ ctf_metadata_decoder_up decoder; - /* Owned by this */ - bt_trace_class *trace_class = nullptr; + bt2::TraceClass::Shared trace_class; /* Weak (owned by `decoder` above) */ struct ctf_trace_class *tc = nullptr; diff --git a/src/plugins/ctf/fs-src/metadata.cpp b/src/plugins/ctf/fs-src/metadata.cpp index abddc2bb..4a99ca7e 100644 --- a/src/plugins/ctf/fs-src/metadata.cpp +++ b/src/plugins/ctf/fs-src/metadata.cpp @@ -62,7 +62,6 @@ int ctf_fs_metadata_set_trace_class(bt_self_component *self_comp, struct ctf_fs_ const ctf::src::ClkClsCfg& clkClsCfg) { int ret = 0; - bt2::TraceClass::Shared traceCls; ctf_metadata_decoder_config decoder_config {ctf_fs_trace->logger}; decoder_config.self_comp = self_comp; @@ -90,10 +89,8 @@ int ctf_fs_metadata_set_trace_class(bt_self_component *self_comp, struct ctf_fs_ goto end; } - traceCls = ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get()); - if (traceCls) { - ctf_fs_trace->metadata->trace_class = traceCls.release().libObjPtr(); - } + ctf_fs_trace->metadata->trace_class = + ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get()); BT_ASSERT(!self_comp || ctf_fs_trace->metadata->trace_class); ctf_fs_trace->metadata->tc = @@ -112,9 +109,5 @@ int ctf_fs_metadata_init(struct ctf_fs_metadata *) void ctf_fs_metadata_fini(struct ctf_fs_metadata *metadata) { - if (metadata->trace_class) { - BT_TRACE_CLASS_PUT_REF_AND_RESET(metadata->trace_class); - } - metadata->decoder.reset(); }