summaryrefslogtreecommitdiffhomepage
path: root/Kernel/Source/AppMain.cxx
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-05-09 19:23:04 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-05-09 19:23:04 +0200
commit915c14eb3b717bbd168d069e296a4246c6aef117 (patch)
treeb01b1e9a522b66bc070fb0e5b34efc70f172cc92 /Kernel/Source/AppMain.cxx
parentaf8a516fc22865abd80d6e26f1541fa3d6bebfdc (diff)
MHR-23: Starting to implement SMP for AMD64.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Kernel/Source/AppMain.cxx')
-rw-r--r--Kernel/Source/AppMain.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/Kernel/Source/AppMain.cxx b/Kernel/Source/AppMain.cxx
index b91d6082..4f5de11f 100644
--- a/Kernel/Source/AppMain.cxx
+++ b/Kernel/Source/AppMain.cxx
@@ -22,6 +22,7 @@
#include <NewKit/KernelCheck.hpp>
#include <NewKit/String.hpp>
#include <NewKit/Utils.hpp>
+#include <KernelKit/CodeManager.hpp>
namespace Detail
{
@@ -177,6 +178,12 @@ namespace Detail
return fNewFS;
}
};
+
+ STATIC NewOS::Void AppWatchdogThread(NewOS::Void)
+ {
+ NewOS::kcout << "SystemSanityThread: Exiting process...";
+ NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().Exit(0);
+ }
} // namespace Detail
/// @file Main microkernel entrypoint.
@@ -186,6 +193,9 @@ EXTERN_C NewOS::Void AppMain(NewOS::Void)
/// Now run kernel loop, until no process are running.
Detail::FilesystemWizard wizard; // automatic.
+ auto cWatchdogThreadName = "SystemSanityThread";
+ NewOS::execute_from_image((NewOS::MainKind)Detail::AppWatchdogThread, cWatchdogThreadName);
+
while (NewOS::ProcessScheduler::Shared().Leak().Run() > 0)
{
;