diff options
Diffstat (limited to 'patches/procd-master/0003-docker-fix-problem-stopping-container.patch')
-rw-r--r-- | patches/procd-master/0003-docker-fix-problem-stopping-container.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/patches/procd-master/0003-docker-fix-problem-stopping-container.patch b/patches/procd-master/0003-docker-fix-problem-stopping-container.patch new file mode 100644 index 0000000..34e9ca5 --- /dev/null +++ b/patches/procd-master/0003-docker-fix-problem-stopping-container.patch @@ -0,0 +1,36 @@ +From ac47a6ab039926f2939d07dc55333103c8a6ad0d Mon Sep 17 00:00:00 2001 +From: Mikael Magnusson <mikma@users.sourceforge.net> +Date: Thu, 29 Nov 2018 22:10:42 +0000 +Subject: [PATCH 3/3] docker: fix problem stopping container + +--- + state.c | 13 +------------ + 1 file changed, 1 insertion(+), 12 deletions(-) + +diff --git a/state.c b/state.c +index ccf4104..bd59d7e 100644 +--- a/state.c ++++ b/state.c +@@ -157,18 +157,7 @@ static void state_enter(void) + else + LOG("- reboot -\n"); + +- /* Allow time for last message to reach serial console, etc */ +- sleep(1); +- +- /* We have to fork here, since the kernel calls do_exit(EXIT_SUCCESS) +- * in linux/kernel/sys.c, which can cause the machine to panic when +- * the init process exits... */ +- if (!vfork( )) { /* child */ +- reboot(reboot_event); +- _exit(EXIT_SUCCESS); +- } +- while (1) +- sleep(1); ++ exit(0); + #else + exit(0); + #endif +-- +2.17.1 + |