sh/openrc-run.sh: expose default start/stop/status
Supervisor setups break easily when start/stop/status functions are not default. Applications that write multiple PIDs to a pidfile (eg HAProxy as described in bug 601540), can also benefit from being able to call the default start/stop/status with modified environment variables. Expose the default start/stop/status functions as default_start/stop/status, and use them for the defaults start/stop/status. Trivial usage example: ``` stop() { t=$(mktemp) for pid in $(cat $pidfile) ; do echo $pid >$t pidfile=$t default_stop done rm -f $t } ``` X-Gentoo-Bug: 601540 X-Gentoo-Bug-URL: https://bugs.gentoo.org/601540 Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
This commit is contained in:
parent
8ad460c54c
commit
f27d60add9
@ -146,10 +146,9 @@ _status()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Template start / stop / status functions
|
|
||||||
# These functions select the appropriate function to call from the
|
# These functions select the appropriate function to call from the
|
||||||
# supervisor modules
|
# supervisor modules
|
||||||
start()
|
default_start()
|
||||||
{
|
{
|
||||||
local func=ssd_start
|
local func=ssd_start
|
||||||
case "$supervisor" in
|
case "$supervisor" in
|
||||||
@ -163,7 +162,7 @@ start()
|
|||||||
$func
|
$func
|
||||||
}
|
}
|
||||||
|
|
||||||
stop()
|
default_stop()
|
||||||
{
|
{
|
||||||
local func=ssd_stop
|
local func=ssd_stop
|
||||||
case "$supervisor" in
|
case "$supervisor" in
|
||||||
@ -177,7 +176,7 @@ stop()
|
|||||||
$func
|
$func
|
||||||
}
|
}
|
||||||
|
|
||||||
status()
|
default_status()
|
||||||
{
|
{
|
||||||
local func=ssd_status
|
local func=ssd_status
|
||||||
case "$supervisor" in
|
case "$supervisor" in
|
||||||
@ -191,6 +190,26 @@ status()
|
|||||||
$func
|
$func
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Template start / stop / status functions
|
||||||
|
# package init scripts may override these, but the bodies are as minimal as
|
||||||
|
# possible, so that the init scripts can creatively wrap default_*
|
||||||
|
# functions.
|
||||||
|
start()
|
||||||
|
{
|
||||||
|
default_start
|
||||||
|
}
|
||||||
|
|
||||||
|
stop()
|
||||||
|
{
|
||||||
|
default_stop
|
||||||
|
}
|
||||||
|
|
||||||
|
status()
|
||||||
|
{
|
||||||
|
default_status
|
||||||
|
}
|
||||||
|
|
||||||
|
# Start debug output
|
||||||
yesno $RC_DEBUG && set -x
|
yesno $RC_DEBUG && set -x
|
||||||
|
|
||||||
# Load configuration settings. First the global ones, then any
|
# Load configuration settings. First the global ones, then any
|
||||||
|
Loading…
Reference in New Issue
Block a user