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:
parent
bcb67841a5
commit
040cebcefe
|
@ -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(); }
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue