Don't allow PM to sys_kill itself, this causes a race with RS calling waitpid during shutdown
This commit is contained in:
parent
8214e5e284
commit
11193f5fa4
|
@ -363,6 +363,11 @@ int ksig; /* non-zero means signal comes from kernel */
|
||||||
|
|
||||||
/* Handle system signals for system processes first. */
|
/* Handle system signals for system processes first. */
|
||||||
if(rmp->mp_flags & PRIV_PROC) {
|
if(rmp->mp_flags & PRIV_PROC) {
|
||||||
|
/* Always skip signals for PM (only necessary when broadcasting). */
|
||||||
|
if(rmp->mp_endpoint == PM_PROC_NR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* System signals have always to go through the kernel first to let it
|
/* System signals have always to go through the kernel first to let it
|
||||||
* pick the right signal manager. If PM is the assigned signal manager,
|
* pick the right signal manager. If PM is the assigned signal manager,
|
||||||
* the signal will come back and will actually be processed.
|
* the signal will come back and will actually be processed.
|
||||||
|
@ -372,11 +377,6 @@ int ksig; /* non-zero means signal comes from kernel */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Always skip signals for PM (only necessary when broadcasting). */
|
|
||||||
if(rmp->mp_endpoint == PM_PROC_NR) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Print stacktrace if necessary. */
|
/* Print stacktrace if necessary. */
|
||||||
if(SIGS_IS_STACKTRACE(signo)) {
|
if(SIGS_IS_STACKTRACE(signo)) {
|
||||||
sys_sysctl_stacktrace(rmp->mp_endpoint);
|
sys_sysctl_stacktrace(rmp->mp_endpoint);
|
||||||
|
|
Loading…
Reference in a new issue