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
 }
 

Reply via email to