From: Automerge Script Date: Fri, 11 May 2007 17:19:05 +0000 (+0000) Subject: automerge commit X-Git-Tag: 1.2.19-netsec~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f242f10f3456c9a7acaa8baa704ed9ef7690c5b;p=thirdparty%2Fasterisk.git automerge commit git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@63945 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/Makefile b/Makefile index 2949531305..7dd5f0f126 100644 --- a/Makefile +++ b/Makefile @@ -662,7 +662,7 @@ bininstall: all $(INSTALL) -m 755 contrib/scripts/astgenkey $(DESTDIR)$(ASTSBINDIR)/ $(INSTALL) -m 755 contrib/scripts/autosupport $(DESTDIR)$(ASTSBINDIR)/ if [ ! -f $(DESTDIR)$(ASTSBINDIR)/safe_asterisk ]; then \ - cat contrib/scripts/safe_asterisk | sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;' > $(DESTDIR)$(ASTSBINDIR)/safe_asterisk ;\ + cat contrib/scripts/safe_asterisk | sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)$(ASTSBINDIR)/safe_asterisk ;\ chmod 755 $(DESTDIR)$(ASTSBINDIR)/safe_asterisk;\ fi $(INSTALL) -d $(DESTDIR)$(ASTHEADERDIR) diff --git a/contrib/scripts/safe_asterisk b/contrib/scripts/safe_asterisk index 5a8808a56f..7ea4a998ed 100644 --- a/contrib/scripts/safe_asterisk +++ b/contrib/scripts/safe_asterisk @@ -6,6 +6,8 @@ CONSOLE=yes # Whether or not you want a console MACHINE=`hostname` # To specify which machine has crashed when getting the mail DUMPDROP=/tmp ASTSBINDIR=__ASTERISK_SBIN_DIR__ +ASTPIDFILE=__ASTERISK_VARRUN_DIR__/asterisk.pid + # # Don't fork when running "safely" # @@ -34,6 +36,11 @@ fi # ulimit -c unlimited +# +# 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 # @@ -53,10 +60,10 @@ run_asterisk() if [ "$TTY" != "" ]; then cd /tmp stty sane < /dev/${TTY} - ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} >& /dev/${TTY} < /dev/${TTY} + ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} >& /dev/${TTY} < /dev/${TTY} else cd /tmp - ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} + ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} fi EXITSTATUS=$? echo "Asterisk ended with exit status $EXITSTATUS" @@ -71,7 +78,11 @@ run_asterisk() echo "Asterisk on $MACHINE exited on signal $EXITSIGNAL. Might want to take a peek." | \ mail -s "Asterisk Died" $NOTIFY 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 @@ -80,7 +91,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