left as is because it works, for now that echo & ps delays seems to be preventing the write error from occurring so far with this patch I just got a fail 1 for hwclock, so the delay must be not long enough to catch this all the time! --- orig/sh/rc-cgroup.sh.in 2015-08-31 10:39:36.068009618 +0300 +++ patched/sh/rc-cgroup.sh.in 2015-08-31 10:38:29.817210595 +0300 @@ -85,8 +85,28 @@ cgroup_add_service() openrc_cgroup=/sys/fs/cgroup/openrc if [ -d "$openrc_cgroup" ]; then cgroup="$openrc_cgroup/$RC_SVCNAME" + + #the delay these introduce, seems to prevent wtw race is going on that causes this: /lib64/rc/sh/rc-cgroup.sh: line 89: printf: write error: No such device + #echo "Current: $$ $RC_SVCNAME" >/dev/null #2>/dev/null 1>&2 + #ps afwj $$ >/dev/null #2>/dev/null 1>&2 + #apparently fixed in openrc 0.18.3 old:^tested and confirmed to FAIL(2) (at boot) when the above 2 lines are commented out! but not when they are uncommented! so, draw your own conclusions. mkdir -p "$cgroup" - [ -f "$cgroup/tasks" ] && printf "%d" 0 > "$cgroup/tasks" + local fail=0 + if test -f "$cgroup/tasks"; then + if ! printf "%d" 0 > "$cgroup/tasks"; then + fail=1 + fi + else + fail=2 + fi + if test "$fail" -ne "0"; then + echo "------FAIL(${fail})----- $cgroup/tasks" 1>&2 + echo "Current: $$ $RC_SVCNAME" 1>&2 + cat "$cgroup/tasks" + fi +# [ -f "$cgroup/tasks" ] || ls -la "$openrc_cgroup" 1>&2 + +# [ -f "$cgroup/tasks" ] && printf "%d" 0 > "$cgroup/tasks" fi }