Merge pull request #9109 from lioncash/session

k_session_request: Add missing override
master
liamwhite 2022-10-21 03:44:30 +07:00 committed by GitHub
commit aa9e9052a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 16 deletions

@ -3,6 +3,8 @@
#pragma once #pragma once
#include <array>
#include "core/hle/kernel/k_auto_object.h" #include "core/hle/kernel/k_auto_object.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_memory_block.h" #include "core/hle/kernel/k_memory_block.h"
@ -52,8 +54,7 @@ public:
}; };
public: public:
explicit SessionMappings(KernelCore& kernel_) explicit SessionMappings(KernelCore& kernel_) : kernel(kernel_) {}
: kernel(kernel_), m_mappings(nullptr), m_num_send(), m_num_recv(), m_num_exch() {}
void Initialize() {} void Initialize() {}
void Finalize(); void Finalize();
@ -149,17 +150,15 @@ public:
private: private:
KernelCore& kernel; KernelCore& kernel;
Mapping m_static_mappings[NumStaticMappings]; std::array<Mapping, NumStaticMappings> m_static_mappings;
Mapping* m_mappings; Mapping* m_mappings{};
u8 m_num_send; u8 m_num_send{};
u8 m_num_recv; u8 m_num_recv{};
u8 m_num_exch; u8 m_num_exch{};
}; };
public: public:
explicit KSessionRequest(KernelCore& kernel_) explicit KSessionRequest(KernelCore& kernel_) : KAutoObject(kernel_), m_mappings(kernel_) {}
: KAutoObject(kernel_), m_mappings(kernel_), m_thread(nullptr), m_server(nullptr),
m_event(nullptr) {}
static KSessionRequest* Create(KernelCore& kernel) { static KSessionRequest* Create(KernelCore& kernel) {
KSessionRequest* req = KSessionRequest::Allocate(kernel); KSessionRequest* req = KSessionRequest::Allocate(kernel);
@ -281,7 +280,7 @@ public:
private: private:
// NOTE: This is public and virtual in Nintendo's kernel. // NOTE: This is public and virtual in Nintendo's kernel.
void Finalize() { void Finalize() override {
m_mappings.Finalize(); m_mappings.Finalize();
if (m_thread) { if (m_thread) {
@ -297,11 +296,11 @@ private:
private: private:
SessionMappings m_mappings; SessionMappings m_mappings;
KThread* m_thread; KThread* m_thread{};
KProcess* m_server; KProcess* m_server{};
KEvent* m_event; KEvent* m_event{};
uintptr_t m_address; uintptr_t m_address{};
size_t m_size; size_t m_size{};
}; };
} // namespace Kernel } // namespace Kernel