diff options
Diffstat (limited to 'Kernel/Sources/ProcessScheduler.cxx')
| -rw-r--r-- | Kernel/Sources/ProcessScheduler.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Kernel/Sources/ProcessScheduler.cxx b/Kernel/Sources/ProcessScheduler.cxx index 8119c11e..bfa6fddf 100644 --- a/Kernel/Sources/ProcessScheduler.cxx +++ b/Kernel/Sources/ProcessScheduler.cxx @@ -43,10 +43,16 @@ namespace Kernel void ProcessHeader::Crash() { - kcout << (*this->Name == 0 ? "Unknown" : this->Name) << ": crashed. (id = "; + kcout << (*this->Name == 0 ? "Kernel" : this->Name) << ": crashed. (id = "; kcout.Number(kErrorProcessFault); kcout << ")\r"; + if (Kernel::ProcessScheduler::The().Leak().CurrentTeam().AsArray().Count() < 1) + { + kcout << "*** BAD PROCESS ***\rTerminating as we are the only process...\r"; + ke_stop(RUNTIME_CHECK_PROCESS); + } + this->Exit(kErrorProcessFault); } |
