From b62b3c7228bb72851a9cec62f8e21032518ce9e0 Mon Sep 17 00:00:00 2001 From: tilghman Date: Fri, 11 May 2007 16:35:51 +0000 Subject: Merged revisions 63903 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r63903 | tilghman | 2007-05-11 11:31:03 -0500 (Fri, 11 May 2007) | 2 lines Issue 9121 - fixups for safe_asterisk script ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@63905 f38db490-d61c-443f-a65b-d21fe96a405b --- contrib/scripts/safe_asterisk | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'contrib') diff --git a/contrib/scripts/safe_asterisk b/contrib/scripts/safe_asterisk index 48fd14cd7..0464373a7 100644 --- a/contrib/scripts/safe_asterisk +++ b/contrib/scripts/safe_asterisk @@ -10,6 +10,7 @@ MACHINE=`hostname` # To specify which machine has crashed when getting the mai DUMPDROP=/tmp SLEEPSECS=4 ASTSBINDIR=__ASTERISK_SBIN_DIR__ +ASTPIDFILE=__ASTERISK_VARRUN_DIR__/asterisk.pid # comment this line out to have this script _not_ kill all mpg123 processes when # asterisk exits @@ -95,6 +96,11 @@ if [ ! -w ${DUMPDROP} ]; then exit 1 fi +# +# Don't die if stdout/stderr can't be written to +# +trap '' SIGPIPE + # # Run scripts to set any environment variables or do any other system-specific setup needed # @@ -114,10 +120,10 @@ run_asterisk() if [ "$TTY" != "" ]; then cd /tmp stty sane < /dev/${TTY} - nice -n $PRIORITY ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} >& /dev/${TTY} < /dev/${TTY} + nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} >& /dev/${TTY} < /dev/${TTY} else cd /tmp - nice -n $PRIORITY ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} + nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} fi EXITSTATUS=$? echo "Asterisk ended with exit status $EXITSTATUS" @@ -135,7 +141,11 @@ run_asterisk() if [ "$EXEC" != "" ]; then $EXEC fi - if [ -f /tmp/core ]; then + + PID=`cat ${ASTPIDFILE}` + if [ -f /tmp/core.${PID} ]; then + mv /tmp/core.${PID} ${DUMPDROP}/core.`hostname`-`date -Iseconds` & + elif [ -f /tmp/core ]; then mv /tmp/core ${DUMPDROP}/core.`hostname`-`date -Iseconds` & fi else @@ -144,7 +154,11 @@ run_asterisk() exit 0 else echo "Asterisk died with code $EXITSTATUS." - if [ -f /tmp/core ]; then + + PID=`cat ${ASTPIDFILE}` + if [ -f /tmp/core.${PID} ]; then + mv /tmp/core.${PID} ${DUMPDROP}/core.`hostname`-`date -Iseconds` & + elif [ -f /tmp/core ]; then mv /tmp/core ${DUMPDROP}/core.`hostname`-`date -Iseconds` & fi fi -- cgit v1.2.3