diff --git a/Kernel/FileSystem/FIFO.cpp b/Kernel/FileSystem/FIFO.cpp index 16922d2d38..62aab80058 100644 --- a/Kernel/FileSystem/FIFO.cpp +++ b/Kernel/FileSystem/FIFO.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/Kernel/Locking/Lockable.h b/Kernel/Locking/Lockable.h new file mode 100644 index 0000000000..17d81f1d5d --- /dev/null +++ b/Kernel/Locking/Lockable.h @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2018-2020, Andreas Kling + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include + +namespace Kernel { + +template +class Lockable { +public: + Lockable() = default; + Lockable(T&& resource) + : m_resource(move(resource)) + { + } + [[nodiscard]] Mutex& lock() { return m_lock; } + [[nodiscard]] T& resource() { return m_resource; } + + [[nodiscard]] T lock_and_copy() + { + MutexLocker locker(m_lock); + return m_resource; + } + +private: + T m_resource; + Mutex m_lock; +}; + +} diff --git a/Kernel/Locking/Mutex.h b/Kernel/Locking/Mutex.h index 28c826c1cd..a9277caddf 100644 --- a/Kernel/Locking/Mutex.h +++ b/Kernel/Locking/Mutex.h @@ -182,28 +182,6 @@ private: bool m_locked { true }; }; -template -class Lockable { -public: - Lockable() = default; - Lockable(T&& resource) - : m_resource(move(resource)) - { - } - [[nodiscard]] Mutex& lock() { return m_lock; } - [[nodiscard]] T& resource() { return m_resource; } - - [[nodiscard]] T lock_and_copy() - { - MutexLocker locker(m_lock); - return m_resource; - } - -private: - T m_resource; - Mutex m_lock; -}; - class ScopedLockRelease { AK_MAKE_NONCOPYABLE(ScopedLockRelease); diff --git a/Kernel/Net/IPv4Socket.h b/Kernel/Net/IPv4Socket.h index 50e99b9a02..811b9be724 100644 --- a/Kernel/Net/IPv4Socket.h +++ b/Kernel/Net/IPv4Socket.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/Kernel/Net/LocalSocket.cpp b/Kernel/Net/LocalSocket.cpp index cb698e5059..5ce617db0c 100644 --- a/Kernel/Net/LocalSocket.cpp +++ b/Kernel/Net/LocalSocket.cpp @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/Kernel/Net/Routing.h b/Kernel/Net/Routing.h index dcf0612cb2..3c441718a2 100644 --- a/Kernel/Net/Routing.h +++ b/Kernel/Net/Routing.h @@ -6,6 +6,7 @@ #pragma once +#include #include #include diff --git a/Kernel/Net/TCPSocket.cpp b/Kernel/Net/TCPSocket.cpp index fe641bec09..e555899169 100644 --- a/Kernel/Net/TCPSocket.cpp +++ b/Kernel/Net/TCPSocket.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/Kernel/Net/UDPSocket.cpp b/Kernel/Net/UDPSocket.cpp index 263c242897..1c719bb516 100644 --- a/Kernel/Net/UDPSocket.cpp +++ b/Kernel/Net/UDPSocket.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/Kernel/Net/UDPSocket.h b/Kernel/Net/UDPSocket.h index ebef463a6e..b13b07ec91 100644 --- a/Kernel/Net/UDPSocket.h +++ b/Kernel/Net/UDPSocket.h @@ -7,6 +7,7 @@ #pragma once #include +#include #include namespace Kernel { diff --git a/Kernel/Random.h b/Kernel/Random.h index 6e07c596e4..8a981fa8f6 100644 --- a/Kernel/Random.h +++ b/Kernel/Random.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include