commit: 15ab3f39c69ff8d69fd08a9cde7495a04b4dec9e Author: William Hubbs <w.d.hubbs <AT> gmail <DOT> com> AuthorDate: Mon Apr 13 16:15:58 2015 +0000 Commit: William Hubbs <williamh <AT> gentoo <DOT> org> CommitDate: Tue Apr 21 16:30:24 2015 +0000 URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=15ab3f39
cgroups: use printf to write to cgroup files This fixes #33. sh/rc-cgroup.sh.in | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sh/rc-cgroup.sh.in b/sh/rc-cgroup.sh.in index 0426026..c7cac2a 100644 --- a/sh/rc-cgroup.sh.in +++ b/sh/rc-cgroup.sh.in @@ -1,6 +1,7 @@ #!@SHELL@ # Copyright (c) 2012 Alexander Vershilov <qni...@gentoo.org> # Released under the 2-clause BSD license. + extra_stopped_commands="${extra_stopped_commands} cgroup_cleanup" description_cgroup_cleanup="Kill all processes in the cgroup" @@ -47,7 +48,7 @@ cgroup_set_values() $controller.*) if [ -n "$name" -a -f "$cgroup/$name" -a -n "$val" ]; then veinfo "$RC_SVCNAME: Setting $cgroup/$name to $val" - echo $val > "$cgroup/$name" + printf "%s" "$val" > "$cgroup/$name" fi name=$1 val= @@ -60,12 +61,12 @@ cgroup_set_values() done if [ -n "$name" -a -f "$cgroup/$name" -a -n "$val" ]; then veinfo "$RC_SVCNAME: Setting $cgroup/$name to $val" - echo $val > "$cgroup/$name" + printf "%s" "$val" > "$cgroup/$name" fi if [ -f "$cgroup/tasks" ]; then veinfo "$RC_SVCNAME: adding to $cgroup/tasks" - echo 0 > "$cgroup/tasks" + printf "%d" 0 > "$cgroup/tasks" fi return 0 @@ -78,14 +79,14 @@ cgroup_add_service() # cgroups. But may lead to a problems where that inheriting # is needed. for d in /sys/fs/cgroup/* ; do - [ -f "${d}"/tasks ] && echo 0 > "${d}"/tasks + [ -f "${d}"/tasks ] && printf "%d" 0 > "${d}"/tasks done openrc_cgroup=/sys/fs/cgroup/openrc if [ -d "$openrc_cgroup" ]; then cgroup="$openrc_cgroup/$RC_SVCNAME" mkdir -p "$cgroup" - [ -f "$cgroup/tasks" ] && echo 0 > "$cgroup/tasks" + [ -f "$cgroup/tasks" ] && printf "%d" 0 > "$cgroup/tasks" fi }