From 705c98d47937d603e3ad569cc2ade12fa1df3677 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sun, 26 Jul 2026 22:13:52 +0200 Subject: build: add tsan build --- kernel/kapi/devices/bus.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'kernel/kapi/devices/bus.cpp') diff --git a/kernel/kapi/devices/bus.cpp b/kernel/kapi/devices/bus.cpp index 71dd01e6..2b94e486 100644 --- a/kernel/kapi/devices/bus.cpp +++ b/kernel/kapi/devices/bus.cpp @@ -11,7 +11,6 @@ #include #include -#include #include namespace kapi::devices @@ -36,7 +35,10 @@ namespace kapi::devices auto bus::add_child(kstd::shared_ptr child) -> void { - child->set_parent(kstd::static_pointer_cast(shared_from_this())); + { + auto guard = kstd::lock_guard{m_lock}; + child->set_parent(kstd::static_pointer_cast(shared_from_this())); + } if (!kapi::devices::device_registry::get().add(child)) { @@ -74,9 +76,11 @@ namespace kapi::devices return true; } - [[nodiscard]] auto bus::children() const -> std::span const> + [[nodiscard]] auto bus::children() const -> kstd::vector> { - return {m_devices.data(), m_devices.size()}; + auto guard = kstd::lock_guard{m_lock}; + + return m_devices; } auto bus::query_facet(kapi::capabilities::facet_id facet) -> void * -- cgit v1.2.3