git: 42422c5a4a50 - stable/13 - rc.subr: Make sure oomprotect protects existing children
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 22 Jul 2022 00:09:22 UTC
The branch stable/13 has been updated by 0mp (doc, ports committer):
URL: https://cgit.FreeBSD.org/src/commit/?id=42422c5a4a5035296b2c39c584b8cfc3aa6f4012
commit 42422c5a4a5035296b2c39c584b8cfc3aa6f4012
Author: Mike Walker <mike.walker@napkindrawing.com>
AuthorDate: 2022-07-07 20:28:37 +0000
Commit: Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2022-07-22 00:09:10 +0000
rc.subr: Make sure oomprotect protects existing children
The rc(8) framework support protecting services from OOM killer.
The current implementation applies the protection after the service has
already started. This works fine if only the main process is to be
protected (*_oomprotect=yes). However, the current implementation fails
to protect existing children when children are also to be protected
(*_oomprotect=all). This patch fixes that.
Note: it is not easy to apply the protectoin earlier because we want to
support both the services which use the "command" variable and those
that use the "start_cmd" variable.
PR: 256148
Approved by: adrian, osogbo
Tested by: Jamie Landeg-Jones <jamie@catflap.org>
Fixes: 3bead71e959d - Add a global option where we can protect
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D35747
(cherry picked from commit 68e035c0172b441db772de41ad0f8977679bfedc)
---
libexec/rc/rc.subr | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr
index b027fa5facf4..df91737566d5 100644
--- a/libexec/rc/rc.subr
+++ b/libexec/rc/rc.subr
@@ -1275,7 +1275,7 @@ $command $rc_flags $command_args"
[ -z "${rc_pid}" ] && eval $_pidcmd
case $_oomprotect in
[Aa][Ll][Ll])
- ${PROTECT} -i -p ${rc_pid}
+ ${PROTECT} -d -i -p ${rc_pid}
;;
[Yy][Ee][Ss])
${PROTECT} -p ${rc_pid}