core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl.

master
bunnei 2022-01-14 16:33:24 +07:00
parent 03884b7ea6
commit d8b3f665db
2 changed files with 9 additions and 3 deletions

@ -149,6 +149,10 @@ ResultCode KProcess::Initialize(KProcess* process, Core::System& system, std::st
return ResultSuccess; return ResultSuccess;
} }
void KProcess::DoWorkerTaskImpl() {
UNIMPLEMENTED();
}
KResourceLimit* KProcess::GetResourceLimit() const { KResourceLimit* KProcess::GetResourceLimit() const {
return resource_limit; return resource_limit;
} }
@ -477,7 +481,7 @@ void KProcess::Finalize() {
} }
// Perform inherited finalization. // Perform inherited finalization.
KAutoObjectWithSlabHeapAndContainer<KProcess, KSynchronizationObject>::Finalize(); KAutoObjectWithSlabHeapAndContainer<KProcess, KWorkerTask>::Finalize();
} }
/** /**

@ -15,6 +15,7 @@
#include "core/hle/kernel/k_condition_variable.h" #include "core/hle/kernel/k_condition_variable.h"
#include "core/hle/kernel/k_handle_table.h" #include "core/hle/kernel/k_handle_table.h"
#include "core/hle/kernel/k_synchronization_object.h" #include "core/hle/kernel/k_synchronization_object.h"
#include "core/hle/kernel/k_worker_task.h"
#include "core/hle/kernel/process_capability.h" #include "core/hle/kernel/process_capability.h"
#include "core/hle/kernel/slab_helpers.h" #include "core/hle/kernel/slab_helpers.h"
#include "core/hle/result.h" #include "core/hle/result.h"
@ -62,8 +63,7 @@ enum class ProcessStatus {
DebugBreak, DebugBreak,
}; };
class KProcess final class KProcess final : public KAutoObjectWithSlabHeapAndContainer<KProcess, KWorkerTask> {
: public KAutoObjectWithSlabHeapAndContainer<KProcess, KSynchronizationObject> {
KERNEL_AUTOOBJECT_TRAITS(KProcess, KSynchronizationObject); KERNEL_AUTOOBJECT_TRAITS(KProcess, KSynchronizationObject);
public: public:
@ -345,6 +345,8 @@ public:
bool IsSignaled() const override; bool IsSignaled() const override;
void DoWorkerTaskImpl();
void PinCurrentThread(s32 core_id); void PinCurrentThread(s32 core_id);
void UnpinCurrentThread(s32 core_id); void UnpinCurrentThread(s32 core_id);
void UnpinThread(KThread* thread); void UnpinThread(KThread* thread);