|
|
@ -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);
|
|
|
|