From 3aa2119290d24c2c671f21f8935012f81b84db77 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Thu, 7 Dec 2023 15:16:31 +0100 Subject: [PATCH] core: use 'release' in Trace::Subject destructor This avoids having two different code paths for destruction and release. --- .../base/src/core/include/trace/subject_registry.h | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/repos/base/src/core/include/trace/subject_registry.h b/repos/base/src/core/include/trace/subject_registry.h index ee7be41d26..7774f79f40 100644 --- a/repos/base/src/core/include/trace/subject_registry.h +++ b/repos/base/src/core/include/trace/subject_registry.h @@ -194,15 +194,7 @@ class Core::Trace::Subject /** * Destructor, releases ownership of associated source */ - ~Subject() - { - Locked_ptr source(_source); - - if (source.valid()) { - source->disable(); - source->release_ownership(*this); - } - } + ~Subject() { release(); } /** * Return registry-local ID @@ -306,6 +298,9 @@ class Core::Trace::Subject if (!source.valid()) return; + source->disable(); + source->release_ownership(*this); + _buffer.flush(); _policy.flush(); }