From adf452d16fbbda0b100d348ca443bd290d5e3afb Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 9 Apr 2024 16:30:19 -0400 Subject: [PATCH] src.ctf.fs: introduce and use ctf_fs_msg_iter_data::UP Introduce ctf_fs_msg_iter_data::UP and use it in ctf_fs_iterator_init and ctf_fs_iterator_finalize. Change-Id: I448cedc164d93f9ba26da5640578889b0fff580c Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/8279 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12317 Tested-by: jenkins --- src/plugins/ctf/fs-src/fs.cpp | 19 ++++--------------- src/plugins/ctf/fs-src/fs.hpp | 2 ++ 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/plugins/ctf/fs-src/fs.cpp b/src/plugins/ctf/fs-src/fs.cpp index d6d6bf53..22baaf3b 100644 --- a/src/plugins/ctf/fs-src/fs.cpp +++ b/src/plugins/ctf/fs-src/fs.cpp @@ -35,15 +35,6 @@ struct tracer_info int64_t patch; }; -static void ctf_fs_msg_iter_data_destroy(struct ctf_fs_msg_iter_data *msg_iter_data) -{ - if (!msg_iter_data) { - return; - } - - delete msg_iter_data; -} - static bt_message_iterator_class_next_method_status ctf_fs_iterator_next_one(struct ctf_fs_msg_iter_data *msg_iter_data, const bt_message **out_msg) { @@ -176,8 +167,8 @@ ctf_fs_iterator_seek_beginning(bt_self_message_iterator *it) void ctf_fs_iterator_finalize(bt_self_message_iterator *it) { - ctf_fs_msg_iter_data_destroy( - (struct ctf_fs_msg_iter_data *) bt_self_message_iterator_get_data(it)); + ctf_fs_msg_iter_data::UP { + (static_cast(bt_self_message_iterator_get_data(it)))}; } static bt_message_iterator_class_initialize_method_status @@ -211,7 +202,7 @@ ctf_fs_iterator_init(bt_self_message_iterator *self_msg_iter, bt_self_component_port_output_as_self_component_port(self_port)); BT_ASSERT(port_data); - ctf_fs_msg_iter_data *msg_iter_data = new ctf_fs_msg_iter_data {self_msg_iter}; + auto msg_iter_data = bt2s::make_unique(self_msg_iter); msg_iter_data->ds_file_group = port_data->ds_file_group; medium_status = ctf_fs_ds_group_medops_data_create(msg_iter_data->ds_file_group, @@ -247,8 +238,7 @@ ctf_fs_iterator_init(bt_self_message_iterator *self_msg_iter, bt_self_message_iterator_configuration_set_can_seek_forward(config, true); } - bt_self_message_iterator_set_data(self_msg_iter, msg_iter_data); - msg_iter_data = NULL; + bt_self_message_iterator_set_data(self_msg_iter, msg_iter_data.release()); status = BT_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_STATUS_OK; goto end; @@ -257,7 +247,6 @@ error: bt_self_message_iterator_set_data(self_msg_iter, NULL); end: - ctf_fs_msg_iter_data_destroy(msg_iter_data); return status; } catch (const std::bad_alloc&) { return BT_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR; diff --git a/src/plugins/ctf/fs-src/fs.hpp b/src/plugins/ctf/fs-src/fs.hpp index 9058c793..97a83573 100644 --- a/src/plugins/ctf/fs-src/fs.hpp +++ b/src/plugins/ctf/fs-src/fs.hpp @@ -101,6 +101,8 @@ struct ctf_fs_component struct ctf_fs_msg_iter_data { + using UP = std::unique_ptr; + explicit ctf_fs_msg_iter_data(bt_self_message_iterator *selfMsgIter) : self_msg_iter {selfMsgIter}, logger {bt2::SelfMessageIterator {self_msg_iter}, "PLUGIN/SRC.CTF.FS/MSG-ITER"} -- 2.34.1