aboutsummaryrefslogtreecommitdiff
path: root/sh
diff options
context:
space:
mode:
Diffstat (limited to 'sh')
-rw-r--r--sh/runscript.sh.in29
1 files changed, 7 insertions, 22 deletions
diff --git a/sh/runscript.sh.in b/sh/runscript.sh.in
index c7d712be..706a1f7d 100644
--- a/sh/runscript.sh.in
+++ b/sh/runscript.sh.in
@@ -190,18 +190,13 @@ fi
sourcex -e "@SYSCONFDIR@/rc.conf"
# Attach to CGroup - dir existing is enough for us
-if [ -d /sys/fs/cgroup/ ]; then
- # use RC_SVCNAME unless overridden in conf.d
- SVC_CGROUP=${rc_cgroup:-$RC_SVCNAME}
- mkdir -p /sys/fs/cgroup/${SVC_CGROUP}
- for f in cpuset.cpus cpuset.mems; do
- if [ -f /sys/fs/cgroup/${f} ]; then
- cp /sys/fs/cgroup/${f} /sys/fs/cgroup/${SVC_CGROUP}
- fi
- done
- # now attach self to cgroup - any children of this process will inherit this
- echo $$ > /sys/fs/cgroup/${SVC_CGROUP}/tasks
- # TODO: set res limits from conf.d
+if [ -d /sys/fs/cgroup -a -n "${rc_cgroup}" ]; then
+ if [ -d /sys/fs/cgroup/${rc_cgroup} ]; then
+ # attach self to cgroup - any children of this process will inherit this
+ echo $$ > /sys/fs/cgroup/${rc_cgroup}/tasks
+ else
+ eerror "Control group /sys/fs/cgroup/${rc_cgroup} does not exist."
+ fi
fi
# Apply any ulimit defined
@@ -307,14 +302,4 @@ while [ -n "$1" ]; do
exit 1
done
-# CGroup cleanup
-if [ -d /sys/fs/cgroup/ ]; then
- # use RC_SVCNAME unless overridden in conf.d
- SVC_CGROUP=${rc_cgroup:-$RC_SVCNAME}
- # reattach to root cgroup
- echo $$ > /sys/fs/cgroup/tasks
- # remove cgroup if empty, will fail if any task attached
- rmdir /sys/fs/cgroup/${SVC_CGROUP} 2>/dev/null
-fi
-
exit 0