private KernelResult SetThreadActivity(int handle, bool pause) { KThread thread = _process.HandleTable.GetObject <KThread>(handle); if (thread == null) { return(KernelResult.InvalidHandle); } if (thread.Owner != _system.Scheduler.GetCurrentProcess()) { return(KernelResult.InvalidHandle); } if (thread == _system.Scheduler.GetCurrentThread()) { return(KernelResult.InvalidThread); } return(thread.SetActivity(pause)); }