]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
When starting Asterisk, bug out if Asterisk is already running.
authorTilghman Lesher <tilghman@meg.abyt.es>
Mon, 5 May 2008 03:22:25 +0000 (03:22 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Mon, 5 May 2008 03:22:25 +0000 (03:22 +0000)
(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

contrib/init.d/rc.debian.asterisk
contrib/init.d/rc.gentoo.asterisk
contrib/init.d/rc.mandrake.asterisk
contrib/init.d/rc.redhat.asterisk
contrib/init.d/rc.slackware.asterisk
contrib/init.d/rc.suse.asterisk
contrib/scripts/safe_asterisk

index 5e50eb793c8ffdfd00da484c5829616de7317660..b5b150c98e8d6cb4a934a173e55072d5bed400e5 100755 (executable)
@@ -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"
index 3d963d6c08210b60f274999321f61f7b6ae13e01..efc87afc70361c4f1f68ce548df09d4f3ee29719 100755 (executable)
@@ -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"
index 1ffd25d37f34078dc66ab0c87c5c5c31bd7ae5fb..8d4f0b70d79ab49a4e6d5b3e275d60efb33581c6 100755 (executable)
@@ -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
index 27d633e702767af606e951127b6f16fcce79cefc..de821fe8a2a6af658427d3a60284f050c736cd27 100755 (executable)
@@ -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
index 0802bfcaa2f1dd14207fe4935a07a402a1aea64c..0b2d3a7c5a08c80ed81f5a89a2b80f8894d8c330 100755 (executable)
 
 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
index 25e96cf8ceded73346cf281977677c811adb4d6f..c8d94df1ce2a9c0c1b7f581c8eb0b07d94416011 100755 (executable)
@@ -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
index 14d9b35ec740eb99b26e0d2aa1f09ae41aeca75d..1cb5e8006bd1bafaffaaeb11c3dd928d95ed685d 100644 (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