From: Denys Vlasenko Date: Sat, 22 Sep 2018 17:30:40 +0000 (+0200) Subject: init: hopefully fix "rebooting" in containers X-Git-Tag: 1_30_0~446 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=426aff88a0802b8da18292079f60f56388d0cdad;p=oweals%2Fbusybox.git init: hopefully fix "rebooting" in containers function old new delta pause_and_low_level_reboot 48 57 +9 Signed-off-by: Denys Vlasenko --- diff --git a/init/init.c b/init/init.c index 6439e2bcd..fde35f6b6 100644 --- a/init/init.c +++ b/init/init.c @@ -752,8 +752,13 @@ static void pause_and_low_level_reboot(unsigned magic) reboot(magic); _exit(EXIT_SUCCESS); } - while (1) - sleep(1); + /* Used to have "while (1) sleep(1)" here. + * However, in containers reboot() call is ignored, and with that loop + * we would eternally sleep here - not what we want. + */ + waitpid(pid, NULL, 0); + sleep(1); /* paranoia */ + _exit(EXIT_SUCCESS); } static void run_shutdown_and_kill_processes(void)