public void KillThread(uint threadId) { Kernel kernel = this.Bios._kernel; KThread thread = kernel.GetHandleOrNull <KThread>(( int )threadId); if (thread == null) { return; } thread.Exit(-1); }
private void KmoduleThreadEnd(int tcsId, int state) { // Our loader thread ended - kill it! Kernel kernel = _bios._kernel; KThread thread = kernel.GetHandle <KThread>(( uint )state); if (thread != null) { Log.WriteLine(Verbosity.Verbose, Feature.Loader, "killing kmodule loading thread with UID {0:X}", thread.UID); thread.Exit(0); kernel.RemoveHandle(thread.UID); thread.Delete(); } kernel.Schedule(); }