Don't kill processes by signals in process group 0, and do a sync before

killing all processes in FS reboot.
This commit is contained in:
Ben Gras 2006-02-03 15:21:00 +00:00
parent bcb67841a5
commit 040cebcefe
2 changed files with 4 additions and 0 deletions

View file

@ -258,6 +258,9 @@ PUBLIC int do_reboot()
/* Only PM may make this call directly. */
if (who != PM_PROC_NR) return(EGENERIC);
/* Sync before the drivers die. */
do_sync();
/* Do exit processing for all leftover processes and servers. */
for (i = 0; i < NR_PROCS; i++) { m_in.slot1 = i; do_exit(); }

View file

@ -524,6 +524,7 @@ int signo; /* signal to send to process (0 to _NSIG) */
if (proc_id == 0 && mp->mp_procgrp != rmp->mp_procgrp) continue;
if (proc_id == -1 && rmp->mp_pid <= INIT_PID) continue;
if (proc_id < -1 && rmp->mp_procgrp != -proc_id) continue;
if (rmp->mp_procgrp == 0) continue;
/* Check for permission. */
if (mp->mp_effuid != SUPER_USER