freeswitch-stable: add SIGKILL to init script 358/head
authorSebastian Kemper <sebastian_ml@gmx.net>
Sun, 5 Aug 2018 12:44:40 +0000 (14:44 +0200)
committerSebastian Kemper <sebastian_ml@gmx.net>
Sun, 5 Aug 2018 12:56:08 +0000 (14:56 +0200)
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>
net/freeswitch-stable/Makefile
net/freeswitch-stable/files/freeswitch.init

index 76ce8726e5503d04db2e8dd8cd4535ea125e6842..09083df23dda71b88a1074872c4b83cda66ea425 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PRG_NAME:=freeswitch
 PKG_NAME:=$(PRG_NAME)-stable
 PKG_VERSION:=1.8.1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
 
 PKG_SOURCE_PROTO:=git
index c17768c1aa74ec4c844465d7a59eada1624dff4a..a46df7d1b1ca1a00d8b0c780eb76a08fea913bee 100644 (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