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 15:04:13 +02:00
parent 88b12368f1
commit 53b5b75af1
2 changed files with 11 additions and 2 deletions

View file

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PRG_NAME:=freeswitch
PKG_NAME:=$(PRG_NAME)-stable
PKG_VERSION:=1.6.20
PKG_RELEASE:=8
PKG_RELEASE:=9
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
PKG_SOURCE:=$(PRG_NAME)-$(PKG_VERSION).tar.xz

View file

@ -1,5 +1,5 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2017 OpenWrt.org
# Copyright (C) 2017 - 2018 OpenWrt.org
START=90
@ -123,6 +123,15 @@ stop_service() {
timeout=$(($timeout-10))
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 ] && {
$LOGGER Failed to stop $FS
exit 1