mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
xenbackendd is not needed by the xl toolstack, so move it's launch to the xend script. We have to iterate until we are sure there are no xend processes left, since doing a single pkill usually leaves xend processes running. Signed-off-by: Roger Pau Monne <roger.pau@citrix.com> Acked-by: Christoph Egger <Christoph.Egger@amd.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Tested-by: Christoph Egger <Christoph.Egger@amd.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
72 lines
1.3 KiB
Bash
72 lines
1.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# PROVIDE: xend
|
|
# REQUIRE: xencommons
|
|
|
|
. /etc/rc.subr
|
|
|
|
DIR=$(dirname "$0")
|
|
. "${DIR}/xen-hotplugpath.sh"
|
|
|
|
LD_LIBRARY_PATH="${LIBDIR}"
|
|
export LD_LIBRARY_PATH PYTHONPATH
|
|
PATH="${PATH}:${SBINDIR}"
|
|
export PATH
|
|
|
|
name="xend"
|
|
rcvar=$name
|
|
start_precmd="xend_precmd"
|
|
start_cmd="xend_startcmd"
|
|
stop_cmd="xend_stop"
|
|
status_cmd="xend_status"
|
|
extra_commands="status"
|
|
required_files="/kern/xen/privcmd"
|
|
|
|
XENBACKENDD_PIDFILE="/var/run/xenbackendd.pid"
|
|
#XENBACKENDD_DEBUG=1
|
|
|
|
xend_precmd()
|
|
{
|
|
mkdir -p /var/run/xend || exit 1
|
|
mkdir -p /var/run/xend/boot || exit 1
|
|
}
|
|
|
|
xend_startcmd()
|
|
{
|
|
printf "Starting xenbackendd.\n"
|
|
|
|
XENBACKENDD_ARGS=""
|
|
if [ -n "${XENBACKENDD_DEBUG}" ]; then
|
|
XENBACKENDD_ARGS="${XENBACKENDD_ARGS} -d"
|
|
fi
|
|
|
|
${SBINDIR}/xenbackendd ${XENBACKENDD_ARGS}
|
|
|
|
printf "Starting xend.\n"
|
|
${SBINDIR}/xend start >/dev/null 2>&1
|
|
}
|
|
|
|
xend_stop()
|
|
{
|
|
printf "Stopping xenbackendd, xend\n"
|
|
xb_pid=$(check_pidfile ${XENBACKENDD_PIDFILE} ${SBINDIR}/xenbackendd)
|
|
if test -n "$xb_pid";
|
|
then
|
|
kill -${sig_stop:-TERM} $xb_pid
|
|
fi
|
|
while pgrep -f ${SBINDIR}/xend >/dev/null 2>&1; do
|
|
pkill -${sig_stop:-KILL} -f ${SBINDIR}/xend
|
|
done
|
|
wait_for_pids $xb_pid
|
|
rm -f /var/lock/subsys/xend /var/lock/xend /var/run/xenbackendd.pid
|
|
}
|
|
|
|
xend_status()
|
|
{
|
|
${SBINDIR}/xend status
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|
|
|