From 60a861666357280b8a2c984c8926531146ae6dc9 Mon Sep 17 00:00:00 2001 From: Michal Bloch Date: Thu, 20 Jul 2023 14:20:00 +0200 Subject: [PATCH] Commonize reader_free_foreach Change-Id: I4c546d8e3479b7498c9ed2def85b7f710672b000 --- src/logger/logger_internal.c | 7 ------- src/logger/reader_common.c | 8 ++++++++ src/logger/reader_common.h | 1 + 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/logger/logger_internal.c b/src/logger/logger_internal.c index 7d06c03..705be99 100644 --- a/src/logger/logger_internal.c +++ b/src/logger/logger_internal.c @@ -140,13 +140,6 @@ void service_all_readers(struct logger *server) list_foreach(server->readers, server, service_reader_common); } -static void reader_free_foreach(void *ptr, void *user_data) -{ - struct reader_logger *reader = (struct reader_logger *)ptr; - assert(reader); - reader_free(&reader->common); -} - /** * @brief Free logger * @details Deallocate the logger and its auxiliary structures diff --git a/src/logger/reader_common.c b/src/logger/reader_common.c index f3b98cd..3d39148 100644 --- a/src/logger/reader_common.c +++ b/src/logger/reader_common.c @@ -158,3 +158,11 @@ void reader_free_ptr(void *reader) assert(reader); // to be used with attribute cleanup reader_free(* ((struct reader_common **) reader)); } + +void reader_free_foreach(void *_reader, void *user_data) +{ + struct reader_common *const reader = (struct reader_common *)_reader; + assert(reader); + reader_free(reader); +} + diff --git a/src/logger/reader_common.h b/src/logger/reader_common.h index c871c68..6b0aad8 100644 --- a/src/logger/reader_common.h +++ b/src/logger/reader_common.h @@ -68,6 +68,7 @@ struct subreader_flush_args { int reader_flush(struct reader_common *reader, struct timespec now_mono, int flush); void reader_free(struct reader_common *reader); void reader_free_ptr(void *reader); +void reader_free_foreach(void *_reader, void *user_data); void reader_add_sub(struct reader_common *reader, void *sub); void reader_common_init(struct reader_common *reader, struct logger *server, const struct reader_ops *ops); int reader_apply_log_to_subs(struct reader_common *reader, const struct dlogutil_entry *de); -- 2.7.4