summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_thread.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-01-15 01:36:10 +0100
committerbunnei <bunneidev@gmail.com>2022-01-15 01:44:14 +0100
commitf499c8177e661b2fadacb28aebb106e4b16c7ab1 (patch)
treeef0fb41e55a1f453f0e19ec8a122630a5d77cb4f /src/core/hle/kernel/k_thread.h
parentcore: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl. (diff)
downloadyuzu-f499c8177e661b2fadacb28aebb106e4b16c7ab1.tar
yuzu-f499c8177e661b2fadacb28aebb106e4b16c7ab1.tar.gz
yuzu-f499c8177e661b2fadacb28aebb106e4b16c7ab1.tar.bz2
yuzu-f499c8177e661b2fadacb28aebb106e4b16c7ab1.tar.lz
yuzu-f499c8177e661b2fadacb28aebb106e4b16c7ab1.tar.xz
yuzu-f499c8177e661b2fadacb28aebb106e4b16c7ab1.tar.zst
yuzu-f499c8177e661b2fadacb28aebb106e4b16c7ab1.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/k_thread.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_thread.h b/src/core/hle/kernel/k_thread.h
index 92c3493c5..cc427f6cf 100644
--- a/src/core/hle/kernel/k_thread.h
+++ b/src/core/hle/kernel/k_thread.h
@@ -19,6 +19,7 @@
#include "core/hle/kernel/k_light_lock.h"
#include "core/hle/kernel/k_spin_lock.h"
#include "core/hle/kernel/k_synchronization_object.h"
+#include "core/hle/kernel/k_worker_task.h"
#include "core/hle/kernel/slab_helpers.h"
#include "core/hle/kernel/svc_common.h"
#include "core/hle/kernel/svc_types.h"
@@ -100,7 +101,7 @@ enum class ThreadWaitReasonForDebugging : u32 {
[[nodiscard]] KThread& GetCurrentThread(KernelCore& kernel);
[[nodiscard]] s32 GetCurrentCoreId(KernelCore& kernel);
-class KThread final : public KAutoObjectWithSlabHeapAndContainer<KThread, KSynchronizationObject>,
+class KThread final : public KAutoObjectWithSlabHeapAndContainer<KThread, KWorkerTask>,
public boost::intrusive::list_base_hook<> {
KERNEL_AUTOOBJECT_TRAITS(KThread, KSynchronizationObject);
@@ -385,6 +386,8 @@ public:
void OnTimer();
+ void DoWorkerTaskImpl();
+
static void PostDestroy(uintptr_t arg);
[[nodiscard]] static ResultCode InitializeDummyThread(KThread* thread);
@@ -679,6 +682,8 @@ private:
void StartTermination();
+ void FinishTermination();
+
[[nodiscard]] ResultCode Initialize(KThreadFunction func, uintptr_t arg, VAddr user_stack_top,
s32 prio, s32 virt_core, KProcess* owner, ThreadType type);