From 722195cf704a628aa13c5a178a07dd33c186b952 Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 8 Apr 2021 18:58:38 -0700 Subject: hle: kernel: Use unique_ptr for suspend and dummy threads. --- src/core/hle/kernel/kernel.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/core/hle/kernel/kernel.cpp') diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index cac76a6ec..1249a4c96 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp @@ -195,9 +195,9 @@ struct KernelCore::Impl { void InitializeSuspendThreads() { for (s32 core_id = 0; core_id < Core::Hardware::NUM_CPU_CORES; core_id++) { - suspend_threads[core_id] = KThread::CreateWithKernel(system.Kernel()); - ASSERT(KThread::InitializeHighPriorityThread(system, suspend_threads[core_id], {}, {}, - core_id) + suspend_threads[core_id] = std::make_unique(system.Kernel()); + ASSERT(KThread::InitializeHighPriorityThread(system, suspend_threads[core_id].get(), {}, + {}, core_id) .IsSuccess()); suspend_threads[core_id]->SetName(fmt::format("SuspendThread:{}", core_id)); } @@ -235,14 +235,14 @@ struct KernelCore::Impl { // Gets the dummy KThread for the caller, allocating a new one if this is the first time KThread* GetHostDummyThread() { auto make_thread = [this]() { - KThread* thread = KThread::CreateWithKernel(system.Kernel()); - ASSERT(KThread::InitializeDummyThread(thread).IsSuccess()); + std::unique_ptr thread = std::make_unique(system.Kernel()); + ASSERT(KThread::InitializeDummyThread(thread.get()).IsSuccess()); thread->SetName(fmt::format("DummyThread:{}", GetHostThreadId())); - return thread; + return std::move(thread); }; thread_local auto thread = make_thread(); - return thread; + return thread.get(); } /// Registers a CPU core thread by allocating a host thread ID for it @@ -661,7 +661,7 @@ struct KernelCore::Impl { // the release of itself std::unique_ptr service_thread_manager; - std::array suspend_threads{}; + std::array, Core::Hardware::NUM_CPU_CORES> suspend_threads; std::array interrupts{}; std::array, Core::Hardware::NUM_CPU_CORES> schedulers{}; -- cgit v1.2.3