Add CGroup support
X-Gentoo-Bug: 390297 X-Gentoo-Bug: http://bugs.gentoo.org/show_bug.cgi?id=390297
This commit is contained in:
parent
66e99b6d63
commit
20df56f0b2
@ -1,3 +1,10 @@
|
|||||||
|
# Set the control group for this service.
|
||||||
|
# If you do not set this, the default setting is the value of
|
||||||
|
# RC_SVCNAME.
|
||||||
|
# This setting is ignored if you do not have CONFIG_CGROUPS active in
|
||||||
|
# your kernel.
|
||||||
|
# RC_CGROUP="foo"
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# LINUX SPECIFIC OPTIONS
|
# LINUX SPECIFIC OPTIONS
|
||||||
|
|
||||||
|
@ -189,6 +189,16 @@ fi
|
|||||||
# Load any system overrides
|
# Load any system overrides
|
||||||
sourcex -e "@SYSCONFDIR@/rc.conf"
|
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}
|
||||||
|
# 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
|
||||||
|
fi
|
||||||
|
|
||||||
# Apply any ulimit defined
|
# Apply any ulimit defined
|
||||||
[ -n "${rc_ulimit:-$RC_ULIMIT}" ] && ulimit ${rc_ulimit:-$RC_ULIMIT}
|
[ -n "${rc_ulimit:-$RC_ULIMIT}" ] && ulimit ${rc_ulimit:-$RC_ULIMIT}
|
||||||
|
|
||||||
@ -291,3 +301,15 @@ while [ -n "$1" ]; do
|
|||||||
eerror "$RC_SVCNAME: unknown function \`$1'"
|
eerror "$RC_SVCNAME: unknown function \`$1'"
|
||||||
exit 1
|
exit 1
|
||||||
done
|
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
|
||||||
|
Loading…
Reference in New Issue
Block a user