Files
gentoo/dev-libs/libcgroup/files/cgconfig.initd-r2
Ulrich Müller 31639e8500 */*: Fix copyright and license notices
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2025-06-09 12:30:14 +02:00

54 lines
1.1 KiB
Plaintext

#!/sbin/openrc-run
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
CGCONFIGPARSER="/usr/sbin/cgconfigparser"
CGCLASSIFY="/usr/bin/cgclassify"
: "${CG_CONFIGFILE:=/etc/cgroup/cgconfig.conf}"
: "${CG_CONFIGDIR:=/etc/cgroup/cgconfig.d}"
description="Control Group Configuration Service"
start()
{
ebegin "Setting up CGroups"
"${CGCONFIGPARSER}" "--load=${CG_CONFIGFILE}" "--load-directory=${CG_CONFIGDIR}" >/dev/null 2>&1
eend "$?"
}
start_post()
{
# Classify PID according to the rules if requested
yesno "${CG_CLASSIFY}" || return 0
ebegin "Classifying PID to CGroups"
local pid
for pid in $(pgrep ''); do
${CGCLASSIFY} ${pid} || einfo "Classifying ${pid} failed"
done
eend "$?"
}
stop()
{
cgconfig_umount
}
cgconfig_umount()
{
local ctrl eq mnt_pnt mnt_pts
while read ctrl eq mnt_pnt; do
case "${ctrl}" in
(\#*) continue ;;
(mount*) mnt_pts=true;;
(\}*) mnt_pts= ;;
(*)
[ -n "${mnt_pts}" ] || continue
mnt_pnt="${mnt_pnt%;}"
ebegin "Unmounting ${mnt_pnt}"
umount "${mnt_pnt}"
eend "$?"
;;
esac
done < "${CG_CONFIGFILE}"
}