diff --git a/Kernel/FileSystem/Custody.cpp b/Kernel/FileSystem/Custody.cpp index 2b92f15cb8..b3c7876f34 100644 --- a/Kernel/FileSystem/Custody.cpp +++ b/Kernel/FileSystem/Custody.cpp @@ -10,20 +10,20 @@ #include #include #include -#include +#include namespace Kernel { -static Singleton> s_all_custodies; +static Singleton> s_all_custodies; -static SpinLockProtectedValue& all_custodies() +static ProtectedValue& all_custodies() { return s_all_custodies; } KResultOr> Custody::try_create(Custody* parent, StringView name, Inode& inode, int mount_flags) { - return all_custodies().with([&](auto& all_custodies) -> KResultOr> { + return all_custodies().with_exclusive([&](auto& all_custodies) -> KResultOr> { for (Custody& custody : all_custodies) { if (custody.parent() == parent && custody.name() == name @@ -47,7 +47,7 @@ KResultOr> Custody::try_create(Custody* parent, StringVie bool Custody::unref() const { - bool should_destroy = all_custodies().with([&](auto&) { + bool should_destroy = all_custodies().with_exclusive([&](auto&) { if (deref_base()) return false; m_all_custodies_list_node.remove();