freeswitch-stable: add SIGKILL to init script

Sometimes freeswitch doesn't exit after receiving the SIGTERM signal.
This can be reproduced by sending SIGTERM to a freeswitch instance which
is initializing (which can take quite some time).

Instead of just giving up and exiting - leaving a hung freeswitch
process on the system - this commit adds some lines to the init script
that send SIGKILL to freeswitch in case the attempt to terminate it with
SIGTERM fails.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
Sebastian Kemper 2018-08-05 14:44:40 +02:00
parent 26db4efb3c
commit b7ce37ba0b
2 changed files with 11 additions and 2 deletions

View file

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PRG_NAME:=freeswitch PRG_NAME:=freeswitch
PKG_NAME:=$(PRG_NAME)-stable PKG_NAME:=$(PRG_NAME)-stable
PKG_VERSION:=1.8.1 PKG_VERSION:=1.8.1
PKG_RELEASE:=4 PKG_RELEASE:=5
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net> PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git

View file

@ -1,5 +1,5 @@
#!/bin/sh /etc/rc.common #!/bin/sh /etc/rc.common
# Copyright (C) 2017 OpenWrt.org # Copyright (C) 2017 - 2018 OpenWrt.org
START=90 START=90
@ -123,6 +123,15 @@ stop_service() {
timeout=$(($timeout-10)) timeout=$(($timeout-10))
done done
[ $retval -ne 1 ] && {
$LOGGER Application seems to hang
$LOGGER Sending SIGKILL
kill -SIGKILL $mypid 2>/dev/null
sleep 3
pgrep $FS | grep -w $mypid &>/dev/null
retval=$?
}
[ $retval -ne 1 ] && { [ $retval -ne 1 ] && {
$LOGGER Failed to stop $FS $LOGGER Failed to stop $FS
exit 1 exit 1