From f2e8d9959cd200ef7c1a1588df8b84f57bf6ff27 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Wed, 26 Nov 2003 18:10:33 +0000 Subject: consider than presence of /tmp/reboot means a clean exit --- mdk-stage1/init.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'mdk-stage1/init.c') diff --git a/mdk-stage1/init.c b/mdk-stage1/init.c index e081ca7cd..f08e423f1 100644 --- a/mdk-stage1/init.c +++ b/mdk-stage1/init.c @@ -422,7 +422,9 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)) end_stage2 = 1; } - if (!WIFEXITED(wait_status) || (WEXITSTATUS(wait_status) != 0 && WEXITSTATUS(wait_status) != exit_value_proceed)) { + if ((fd = open("/tmp/reboot", O_RDONLY, 0)) > 0) { + close(fd); + } else if (!WIFEXITED(wait_status) || (WEXITSTATUS(wait_status) != 0 && WEXITSTATUS(wait_status) != exit_value_proceed)) { printf("exited abnormally :-( "); if (WIFSIGNALED(wait_status)) printf("-- received signal %d", WTERMSIG(wait_status)); @@ -432,7 +434,9 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)) kill(klog_pid, 9); printf("proceeding, please wait...\n"); return 0; - } else { + } + + if (!abnormal_termination) { int i; for (i=0; i<50; i++) printf("\n"); /* cleanup startkde messages */ -- cgit v1.2.1