From d1c504f9a68701a0ad53118b2cfc1be081f085d0 Mon Sep 17 00:00:00 2001 From: EnderIce2 Date: Fri, 21 Feb 2025 02:55:29 +0200 Subject: [PATCH] feat(userspace/apps/sys/init): handle termination signals for graceful shutdown Signed-off-by: EnderIce2 --- Userspace/apps/sys/init/init.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Userspace/apps/sys/init/init.c b/Userspace/apps/sys/init/init.c index ebe31903..1c15d8f4 100644 --- a/Userspace/apps/sys/init/init.c +++ b/Userspace/apps/sys/init/init.c @@ -49,10 +49,22 @@ void ReapZombies() } } +void HandleSignal(int signal) +{ + if (signal == SIGTERM || signal == SIGINT) + { + printf("init: received termination signal, shutting down...\n"); + exit(0); + } +} + int main() { printf("init starting...\n"); + signal(SIGTERM, HandleSignal); + signal(SIGINT, HandleSignal); + char *shellArgs[] = {"/bin/sh", NULL}; StartProcess("/bin/sh", shellArgs);