Serenity Operating System
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}