svn commit: r448842 - in branches/2017Q3/net: asterisk11 asterisk11/files asterisk13 asterisk13/files
Guido Falsi
madpilot at FreeBSD.org
Sun Aug 27 20:35:40 UTC 2017
Author: madpilot
Date: Sun Aug 27 20:35:38 2017
New Revision: 448842
URL: https://svnweb.freebsd.org/changeset/ports/448842
Log:
MFH: r448520
Make the provided rc script more robust.
Also add an asterisk_stopsleep knob (disabled by default) to allow
users to work around a possible race condition when asterisk is sent
a stop command just after launching, but before it's startup is
actually completed.
PR: 221271
Submitted by: O. Hartmann <ohartmann at walstatt.org>
Approved by: ports-secteam (delphij)
Modified:
branches/2017Q3/net/asterisk11/Makefile
branches/2017Q3/net/asterisk11/files/asterisk.in
branches/2017Q3/net/asterisk13/Makefile
branches/2017Q3/net/asterisk13/files/asterisk.in
Directory Properties:
branches/2017Q3/ (props changed)
Modified: branches/2017Q3/net/asterisk11/Makefile
==============================================================================
--- branches/2017Q3/net/asterisk11/Makefile Sun Aug 27 20:33:36 2017 (r448841)
+++ branches/2017Q3/net/asterisk11/Makefile Sun Aug 27 20:35:38 2017 (r448842)
@@ -2,7 +2,7 @@
PORTNAME= asterisk
PORTVERSION= 11.25.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net
MASTER_SITES= http://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729
MASTER_SITE_SUBDIR= asterisk/ \
Modified: branches/2017Q3/net/asterisk11/files/asterisk.in
==============================================================================
--- branches/2017Q3/net/asterisk11/files/asterisk.in Sun Aug 27 20:33:36 2017 (r448841)
+++ branches/2017Q3/net/asterisk11/files/asterisk.in Sun Aug 27 20:35:38 2017 (r448842)
@@ -17,6 +17,8 @@
# Default is "-n"
# asterisk_pidfile (string): Location of the asterisk pid file
# Default is /var/run/asterisk/asterisk.pid
+# asterisk_stopsleep (int): Number of seconds to sleep before sending stop command
+# Default is 0, which disables it
#
. /etc/rc.subr
@@ -31,6 +33,7 @@ load_rc_config $name
: ${asterisk_user:=%%ASTERISK_USER%%}
: ${asterisk_args=-n}
: ${asterisk_pidfile:=/var/run/asterisk/asterisk.pid}
+: ${asterisk_stopsleep:=0}
extra_commands=reload
@@ -52,13 +55,26 @@ asterisk_precmd()
asterisk_stop()
{
- echo 'Stopping asterisk'
+ if [ -z "$rc_pid" ]; then
+ [ -n "$rc_fast" ] && return 0
+ _run_rc_notrunning
+ return 1
+ fi
+ echo 'Stopping asterisk.'
+ if [ ${asterisk_stopsleep} > 0 ]; then
+ sleep ${asterisk_stopsleep}
+ fi
$command -nqrx 'core stop now'
+ wait_for_pids $rc_pid
}
asterisk_reload()
{
- echo 'Reloading asterisk'
+ if [ -z "$rc_pid" ]; then
+ _run_rc_notrunning
+ return 1
+ fi
+ echo 'Reloading asterisk.'
$command -nqrx 'reload'
}
Modified: branches/2017Q3/net/asterisk13/Makefile
==============================================================================
--- branches/2017Q3/net/asterisk13/Makefile Sun Aug 27 20:33:36 2017 (r448841)
+++ branches/2017Q3/net/asterisk13/Makefile Sun Aug 27 20:35:38 2017 (r448842)
@@ -2,6 +2,7 @@
PORTNAME= asterisk
PORTVERSION= 13.16.0
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= http://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729
MASTER_SITE_SUBDIR= asterisk/ \
Modified: branches/2017Q3/net/asterisk13/files/asterisk.in
==============================================================================
--- branches/2017Q3/net/asterisk13/files/asterisk.in Sun Aug 27 20:33:36 2017 (r448841)
+++ branches/2017Q3/net/asterisk13/files/asterisk.in Sun Aug 27 20:35:38 2017 (r448842)
@@ -17,6 +17,8 @@
# Default is "-n"
# asterisk_pidfile (string): Location of the asterisk pid file
# Default is /var/run/asterisk/asterisk.pid
+# asterisk_stopsleep (int): Number of seconds to sleep before sending stop command
+# Default is 0, which disables it
#
. /etc/rc.subr
@@ -31,6 +33,7 @@ load_rc_config $name
: ${asterisk_user:=%%ASTERISK_USER%%}
: ${asterisk_args=-n}
: ${asterisk_pidfile:=/var/run/asterisk/asterisk.pid}
+: ${asterisk_stopsleep:=0}
extra_commands=reload
@@ -52,13 +55,26 @@ asterisk_precmd()
asterisk_stop()
{
- echo 'Stopping asterisk'
+ if [ -z "$rc_pid" ]; then
+ [ -n "$rc_fast" ] && return 0
+ _run_rc_notrunning
+ return 1
+ fi
+ echo 'Stopping asterisk.'
+ if [ ${asterisk_stopsleep} > 0 ]; then
+ sleep ${asterisk_stopsleep}
+ fi
$command -nqrx 'core stop now'
+ wait_for_pids $rc_pid
}
asterisk_reload()
{
- echo 'Reloading asterisk'
+ if [ -z "$rc_pid" ]; then
+ _run_rc_notrunning
+ return 1
+ fi
+ echo 'Reloading asterisk.'
$command -nqrx 'reload'
}
More information about the svn-ports-branches
mailing list