Example #1
0
        public void KillThread(uint threadId)
        {
            Kernel  kernel = this.Bios._kernel;
            KThread thread = kernel.GetHandleOrNull <KThread>(( int )threadId);

            if (thread == null)
            {
                return;
            }
            thread.Exit(-1);
        }
Example #2
0
        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();
        }