summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_session.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-05-01 21:48:41 +0200
committerbunnei <bunneidev@gmail.com>2021-05-06 01:40:53 +0200
commitf6d45b747e37ed1871d9155fbf2d3d5099e1c1b8 (patch)
tree6cbdec08fa1006a4fd9ba21a6fe9a97ba8b47e81 /src/core/hle/kernel/k_session.h
parentfixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject. (diff)
downloadyuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar
yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.gz
yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.bz2
yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.lz
yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.xz
yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.zst
yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/k_session.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/core/hle/kernel/k_session.h b/src/core/hle/kernel/k_session.h
index d50e21f3f..4321b7885 100644
--- a/src/core/hle/kernel/k_session.h
+++ b/src/core/hle/kernel/k_session.h
@@ -16,14 +16,6 @@ namespace Kernel {
class KSession final : public KAutoObjectWithSlabHeapAndContainer<KSession, KAutoObjectWithList> {
KERNEL_AUTOOBJECT_TRAITS(KSession, KAutoObject);
-private:
- enum class State : u8 {
- Invalid = 0,
- Normal = 1,
- ClientClosed = 2,
- ServerClosed = 3,
- };
-
public:
explicit KSession(KernelCore& kernel);
virtual ~KSession() override;
@@ -75,19 +67,27 @@ public:
}
private:
+ enum class State : u8 {
+ Invalid = 0,
+ Normal = 1,
+ ClientClosed = 2,
+ ServerClosed = 3,
+ };
+
+private:
void SetState(State state) {
atomic_state = static_cast<u8>(state);
}
State GetState() const {
- return static_cast<State>(atomic_state.load());
+ return static_cast<State>(atomic_state.load(std::memory_order_relaxed));
}
private:
KServerSession server;
KClientSession client;
- std::atomic<std::underlying_type<State>::type> atomic_state{
- static_cast<std::underlying_type<State>::type>(State::Invalid)};
+ std::atomic<std::underlying_type_t<State>> atomic_state{
+ static_cast<std::underlying_type_t<State>>(State::Invalid)};
KClientPort* port{};
KProcess* process{};
bool initialized{};