Serenity Operating System
at master 33 lines 790 B view raw
1/* 2 * Copyright (c) 2021, Brian Gianforcaro <bgianf@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#include <Kernel/Locking/LockRank.h> 8#include <Kernel/Thread.h> 9 10// Note: These stubs can't be in LockRank.h as that would create 11// a cyclic dependency in the header include graph of the Kernel. 12 13namespace Kernel { 14 15void track_lock_acquire(LockRank rank) 16{ 17 if constexpr (LOCK_RANK_ENFORCEMENT) { 18 auto* thread = Thread::current(); 19 if (thread && !thread->is_crashing()) 20 thread->track_lock_acquire(rank); 21 } 22} 23 24void track_lock_release(LockRank rank) 25{ 26 if constexpr (LOCK_RANK_ENFORCEMENT) { 27 auto* thread = Thread::current(); 28 if (thread && !thread->is_crashing()) 29 thread->track_lock_release(rank); 30 } 31} 32 33}