When starting Asterisk, bug out if Asterisk is already running.

(closes issue #12525)
 Reported by: explidous
 Patches: 
       20080428__bug12525.diff.txt uploaded by Corydon76 (license 14)
 Tested by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2008-05-05 03:22:25 +00:00
parent 9ecb9277ad
commit 70aedcea79
7 changed files with 58 additions and 1 deletions

View File

@@ -51,6 +51,14 @@ fi
case "$1" in
start)
# Check if Asterisk is already running. If it is, then bug out, because
# starting up Asterisk when Asterisk is already running is very bad.
VERSION=`${ASTSBINDIR}/asterisk -rx 'core show version'`
if [ "${VERSION:0:8}" = "Asterisk" ]; then # otherwise "Unable t"
echo "Asterisk is already running. $0 will exit now."
exit 1
fi
log_begin_msg "Starting $DESC: $NAME"
if [ $AST_USER ] ; then
ASTARGS="-U $AST_USER"

View File

@@ -6,6 +6,14 @@ depend() {
}
start() {
# Check if Asterisk is already running. If it is, then bug out, because
# starting safe_asterisk when Asterisk is running is very bad.
VERSION=`${ASTSBINDIR}/asterisk -rx 'core show version'`
if [ "${VERSION:0:8}" = "Asterisk" ]; then # otherwise "Unable t"
echo "Asterisk is already running. $0 will exit now."
exit 1
fi
ebegin "Starting Asterisk"
/usr/sbin/asterisk
eend $? "Failed to start Asterisk"

View File

@@ -119,6 +119,14 @@ run_asterisk()
case "$1" in
start)
# Check if Asterisk is already running. If it is, then bug out, because
# starting Asterisk when Asterisk is already running is very bad.
VERSION=`${ASTSBINDIR}/asterisk -rx 'core show version'`
if [ "${VERSION:0:8}" = "Asterisk" ]; then # otherwise "Unable t"
echo "Asterisk is already running. $0 will exit now."
exit 1
fi
gprintf "Starting asterisk: "
run_asterisk >/dev/null 2>&1 &
sleep 2 # Give it time to die

View File

@@ -68,6 +68,14 @@ fi
RETVAL=0
start() {
# Check if Asterisk is already running. If it is, then bug out, because
# starting safe_asterisk when Asterisk is running is very bad.
VERSION=`${AST_SBIN}/asterisk -rx 'core show version'`
if [ "${VERSION:0:8}" = "Asterisk" ]; then # otherwise "Unable t"
echo "Asterisk is already running."
exit 1
fi
# Start daemons.
echo -n $"Starting asterisk: "
if [ -f $SAFE_ASTERISK ] ; then

View File

@@ -10,6 +10,14 @@
asterisk_start() {
if [ -x /usr/sbin/asterisk ]; then
# Check if Asterisk is already running. If it is, then bug out, because
# starting safe_asterisk when Asterisk is running is very bad.
VERSION=`/usr/sbin/asterisk -rx 'core show version'`
if [ "${VERSION:0:8}" = "Asterisk" ]; then # otherwise "Unable t"
echo "Asterisk is already running. $0 will exit now."
exit 1
fi
echo "Starting Asterisk /usr/sbin/asterisk"
/usr/sbin/asterisk
fi

View File

@@ -63,6 +63,15 @@ RETVAL=0
start() {
# Start daemons.
# Check if Asterisk is already running. If it is, then bug out, because
# starting Asterisk when Asterisk is already running is very bad.
VERSION=`/usr/sbin/asterisk -rx 'core show version'`
if [ "${VERSION:0:8}" = "Asterisk" ]; then # otherwise "Unable t"
echo "Asterisk is already running. $0 will exit now."
exit 1
fi
echo -n $"Starting asterisk: "
if [ -f $SAFE_ASTERISK ] ; then
DAEMON=$SAFE_ASTERISK

View File

@@ -26,13 +26,21 @@ PRIORITY=0
# set to the system's maximum files open devided by two, if not set here.
# MAXFILES=32768
# Check if Asterisk is already running. If it is, then bug out, because
# starting safe_asterisk when Asterisk is running is very bad.
VERSION=`${ASTSBINDIR}/asterisk -rx 'core show version'`
if [ "${VERSION:0:8}" = "Asterisk" ]; then # otherwise "Unable t"
echo "Asterisk is already running. $0 will exit now."
exit 1
fi
# since we're going to change priority and open files limits, we need to be
# root. if running asterisk as other users, pass that to asterisk on the command
# line.
# if we're not root, fall back to standard everything.
if [ `id -u` != 0 ]
then
echo "Ops. I'm not root. Falling back to standard prio and file max." >&2
echo "Oops. I'm not root. Falling back to standard prio and file max." >&2
echo "This is NOT suitable for large systems." >&2
PRIORITY=0
else