summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sh/rc-cgroup.sh.in10
-rw-r--r--sh/runscript.sh.in4
2 files changed, 10 insertions, 4 deletions
diff --git a/sh/rc-cgroup.sh.in b/sh/rc-cgroup.sh.in
index d96aa16..afcbb03 100644
--- a/sh/rc-cgroup.sh.in
+++ b/sh/rc-cgroup.sh.in
@@ -70,15 +70,17 @@ cgroup_set_values()
return 0
}
-cgroup_set_limits()
+cgroup_add_service()
{
- openrc_cgroup=/sys/fs/cgroup/openrc
- if [ -d "$openrc_cgroup" ]; then
- cgroup="$openrc_cgroup/$RC_SVCNAME"
+ if [ -d "$1" ]; then
+ cgroup="$1/$RC_SVCNAME"
mkdir -p "$cgroup"
[ -f "$cgroup/tasks" ] && echo 0 > "$cgroup/tasks"
fi
+}
+cgroup_set_limits()
+{
local blkio="${rc_cgroup_blkio:-$RC_CGROUP_BLKIO}"
[ -n "$blkio" ] && cgroup_set_values blkio "$blkio"
diff --git a/sh/runscript.sh.in b/sh/runscript.sh.in
index 58e8eac..a1ed9c6 100644
--- a/sh/runscript.sh.in
+++ b/sh/runscript.sh.in
@@ -209,6 +209,10 @@ sourcex -e "@SYSCONFDIR@/rc.conf"
[ -n "${rc_ulimit:-$RC_ULIMIT}" ] && ulimit ${rc_ulimit:-$RC_ULIMIT}
# Apply cgroups settings if defined
+if [ "$(command -v cgroup_add_service)" = "cgroup_add_service" ]; then
+ cgroup_add_service /sys/fs/cgroup/openrc
+ cgroup_add_service /sys/fs/cgroup/systemd/system
+fi
[ "$(command -v cgroup_set_limits)" = "cgroup_set_limits" ] && \
cgroup_set_limits