mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
s4-smbd: Also restart prefork children lost to SIGKILL (-9)
Samba 4.10 and later versions have a process restart capability to greatly reduce the impact of crashes due to a NULL pointer de-reference or abort(). However SIGKILL was deliberatly omitted. Sadly this is the most likely case, due to the OOM killer, as raised here: https://lists.samba.org/archive/samba-technical/2019-November/134529.html Subsequent discussion (offline) has been to agree that we should restart in this case. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14221 Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
parent
b28d1dca86
commit
30cbc5b90e
@ -518,7 +518,8 @@ static void prefork_child_pipe_handler(struct tevent_context *ev,
|
|||||||
DBG_ERR("Parent %d, Child %d terminated with signal %d\n",
|
DBG_ERR("Parent %d, Child %d terminated with signal %d\n",
|
||||||
getpid(), pid, status);
|
getpid(), pid, status);
|
||||||
if (status == SIGABRT || status == SIGBUS || status == SIGFPE ||
|
if (status == SIGABRT || status == SIGBUS || status == SIGFPE ||
|
||||||
status == SIGILL || status == SIGSYS || status == SIGSEGV) {
|
status == SIGILL || status == SIGSYS || status == SIGSEGV ||
|
||||||
|
status == SIGKILL) {
|
||||||
|
|
||||||
prefork_restart(ev, rc);
|
prefork_restart(ev, rc);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user