On Tue, Jun 12, 2012 at 12:01 AM, Dave Reisner <d@falconindy.com> wrote:
On Mon, Jun 11, 2012 at 11:10:40PM +0200, Sébastien Luttringer wrote: So what do people who compile their own kernels without cgroups do? With this patch... swtich from century and use cgroup :p
I can rework it to support kernel with and without cgroup (with both hierarchies). Just let me know if you see a show stopper.
No need for a while loop here just to trim a string...
name=${name##+(!|@|-)}
Thank you! That 's what I was looking for! Your bash knowledge impresses me day by day.
+ *) break;; + esac + done + echo $name
Quote, please.
I doesn't see the benefits of quoting here. $ f() { a="toto toto" ; echo $a ; } $ g() { a="titi titi"; echo "$a"; } $ for i in $(f); do echo $i; done toto toto $ for i in $(g); do echo $i; done titi titi
+ stat_bkgd "${2^} $name"
This is the only place you sentence case a daemon name in the output. Intentional?
Yes we are starting daemon in background, so output formating from script is removed. Currently we output "Starting $name..." To keep it generic with others kind of call (restart, foo, bar) i only capitalize the first letter. Output become "Start $name" on startup.
+ exec_daemon /etc/rc.d/"$name" "$2" >/dev/null & + else + exec_daemon /etc/rc.d/"$name" "$2" + fi + ) + # stop action unregister and cleanup + if [[ $2 == stop ]]; then + kill_daemon "$1"
So that's it? We just call kill daemon here and don't even honor the script's own stop function anymore?
Stop function is honored by "exec_daemon stop" in previous lines.
OCD: Is it really too much to ask to write this as a proper if/then? sure.
After only 1/4 of a second you send the death touch onto all tasks? Go take a look at a service like squid or mysql that can survive at _least_ 5-10s after receiving a TERM. What about services that don't respond to a TERM, but would exit on a HUP? They're going to be invariably death touched. This is way too simple of a heuristic to be healthy.
Remember that "stop" script have been called before and have handled daemon shutdown correctly. If this function have process to kill, it's garbage collecting. I take this value from kill_all_wait() function.
+ printf "e.g: ${C_MAIN}rc.d ${1:-start} ${0##*/}${C_CLEAR}\n" >&2
Magic help messages which change text? Can't we just generalize it?
I don't understand what you mean. Thanks for your review i will include your suggestions and post a new patch asap. -- Sébastien "Seblu" Luttringer www.seblu.net