From 2dba3a29673a2d53fc892f42256325610c578fa6 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 9 Jun 2022 11:19:30 -0400 Subject: [PATCH] src.ctf.fs: make ctf_fs_trace::metadata a unique_ptr Introduce ctf_fs_metadata::UP and change the ctf_fs_trace::metadata field to be of that type. Change-Id: I0221ef7786cc8fb4c2e8a9264573ab5c2e5420d6 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/8286 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12324 Tested-by: jenkins --- src/plugins/ctf/fs-src/data-stream-file.cpp | 2 +- src/plugins/ctf/fs-src/fs.cpp | 6 +----- src/plugins/ctf/fs-src/fs.hpp | 5 +++-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/plugins/ctf/fs-src/data-stream-file.cpp b/src/plugins/ctf/fs-src/data-stream-file.cpp index caad4b58..24b32a2b 100644 --- a/src/plugins/ctf/fs-src/data-stream-file.cpp +++ b/src/plugins/ctf/fs-src/data-stream-file.cpp @@ -811,7 +811,7 @@ ctf_fs_ds_file::UP ctf_fs_ds_file_create(struct ctf_fs_trace *ctf_fs_trace, } ds_file->stream = std::move(stream); - ds_file->metadata = ctf_fs_trace->metadata; + ds_file->metadata = ctf_fs_trace->metadata.get(); ds_file->file->path = path; ret = ctf_fs_file_open(ds_file->file.get(), "rb"); if (ret) { diff --git a/src/plugins/ctf/fs-src/fs.cpp b/src/plugins/ctf/fs-src/fs.cpp index 2b2f5bc4..6c125461 100644 --- a/src/plugins/ctf/fs-src/fs.cpp +++ b/src/plugins/ctf/fs-src/fs.cpp @@ -261,10 +261,6 @@ static void ctf_fs_trace_destroy(struct ctf_fs_trace *ctf_fs_trace) return; } - if (ctf_fs_trace->metadata) { - delete ctf_fs_trace->metadata; - } - delete ctf_fs_trace; } @@ -745,7 +741,7 @@ static ctf_fs_trace::UP ctf_fs_trace_create(const char *path, const char *name, ctf_fs_trace::UP ctf_fs_trace {new struct ctf_fs_trace(parentLogger)}; ctf_fs_trace->path = path; - ctf_fs_trace->metadata = new ctf_fs_metadata; + ctf_fs_trace->metadata = bt2s::make_unique(); ret = ctf_fs_metadata_set_trace_class(selfComp, ctf_fs_trace.get(), clkClsCfg); if (ret) { diff --git a/src/plugins/ctf/fs-src/fs.hpp b/src/plugins/ctf/fs-src/fs.hpp index 49223bfe..bd9bfb97 100644 --- a/src/plugins/ctf/fs-src/fs.hpp +++ b/src/plugins/ctf/fs-src/fs.hpp @@ -24,6 +24,8 @@ extern bool ctf_fs_debug; struct ctf_fs_metadata { + using UP = std::unique_ptr; + /* Owned by this */ ctf_metadata_decoder_up decoder; @@ -51,8 +53,7 @@ struct ctf_fs_trace bt2c::Logger logger; - /* Owned by this */ - struct ctf_fs_metadata *metadata = nullptr; + ctf_fs_metadata::UP metadata; bt2::Trace::Shared trace; -- 2.34.1