mount and umount could leak loop device allocations causing the system to
quickly run out. Also disable init's SIGHUP handler during shutdown.
-Erik
diff --git a/init/init.c b/init/init.c
index 5b80cc5..09540ff 100644
--- a/init/init.c
+++ b/init/init.c
@@ -359,6 +359,7 @@
signal(SIGUSR2, SIG_DFL);
signal(SIGINT, SIG_DFL);
signal(SIGTERM, SIG_DFL);
+ signal(SIGHUP, SIG_DFL);
if ((fd = device_open(terminal, O_RDWR)) < 0) {
message(LOG|CONSOLE, "Bummer, can't open %s\r\n", terminal);
@@ -458,6 +459,9 @@
#ifndef DEBUG_INIT
static void shutdown_system(void)
{
+ /* first disable our SIGHUP signal */
+ signal(SIGHUP, SIG_DFL);
+
/* Allow Ctrl-Alt-Del to reboot system. */
reboot(RB_ENABLE_CAD);
message(CONSOLE, "\r\nThe system is going down NOW !!\r\n");