diff options
-rw-r--r-- | init/init.c | 9 |
1 files changed, 7 insertions, 2 deletions
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) | |||
752 | reboot(magic); | 752 | reboot(magic); |
753 | _exit(EXIT_SUCCESS); | 753 | _exit(EXIT_SUCCESS); |
754 | } | 754 | } |
755 | while (1) | 755 | /* Used to have "while (1) sleep(1)" here. |
756 | sleep(1); | 756 | * However, in containers reboot() call is ignored, and with that loop |
757 | * we would eternally sleep here - not what we want. | ||
758 | */ | ||
759 | waitpid(pid, NULL, 0); | ||
760 | sleep(1); /* paranoia */ | ||
761 | _exit(EXIT_SUCCESS); | ||
757 | } | 762 | } |
758 | 763 | ||
759 | static void run_shutdown_and_kill_processes(void) | 764 | static void run_shutdown_and_kill_processes(void) |