]> Zhao Yanbai Git Server - minix.git/commitdiff
. don't kill tty, send it messages on signals
authorBen Gras <ben@minix3.org>
Fri, 21 Oct 2005 11:07:33 +0000 (11:07 +0000)
committerBen Gras <ben@minix3.org>
Fri, 21 Oct 2005 11:07:33 +0000 (11:07 +0000)
. kill processes first, then tell fs to reboot (otherwise fs will have
  exited its processes and be confused when they exit again)

servers/pm/main.c
servers/pm/misc.c

index f2fec7e833a12901b23fdaf18913f7b598f46b1c..b71b33c3f67c86e76846850040d5c01a9136405c 100644 (file)
@@ -253,6 +253,7 @@ PRIVATE void pm_init()
   mproc[RS_PROC_NR].mp_parent = INIT_PROC_NR;  /* INIT is root */
   sigfillset(&mproc[PM_PROC_NR].mp_ignore);    /* guard against signals */
   sigfillset(&mproc[FS_PROC_NR].mp_sig2mess);  /* forward signals */
+  sigfillset(&mproc[TTY_PROC_NR].mp_sig2mess);         /* forward signals */
 
   /* Tell FS that no more system processes follow and synchronize. */
   mess.PR_PROC_NR = NONE;
index 8e25dbdde48b745c35f815c0c745322b315da8e7..559adcb096ddfe325cb6d60f68d26820d7938b1c 100644 (file)
@@ -172,8 +172,8 @@ PUBLIC int do_reboot()
        return(EINVAL);
   }
 
-  tell_fs(REBOOT, 0, 0, 0);            /* tell FS to synchronize */
   check_sig(-1, SIGKILL);              /* kill all processes except init */
+  tell_fs(REBOOT, 0, 0, 0);            /* tell FS to synchronize */
 
   /* Ask the kernel to abort. All system services, including the PM, will 
    * get a HARD_STOP notification. Await the notification in the main loop.