travelmate: bugfix 1.3.7 8281/head
authorDirk Brenken <dev@brenken.org>
Sat, 23 Feb 2019 06:55:26 +0000 (07:55 +0100)
committerDirk Brenken <dev@brenken.org>
Sat, 23 Feb 2019 06:55:26 +0000 (07:55 +0100)
* fix a possible 'reload' race condition

Signed-off-by: Dirk Brenken <dev@brenken.org>
net/travelmate/Makefile
net/travelmate/files/travelmate.init
net/travelmate/files/travelmate.sh

index f552c6ce529ce95c322cf8d9c9b4d66df84f8216..e989162e86bf17df7d6ee0ca2c94be8a3c45f794 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=travelmate
-PKG_VERSION:=1.3.6
+PKG_VERSION:=1.3.7
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index b3362b15117d5a556e79910022c8bbbcb009bf29..cfe338e9420ef3621e9943c83da282df06eb2283 100755 (executable)
@@ -31,14 +31,14 @@ start_service()
 
 reload_service()
 {
-       local ppid pid
+       local ppid pid timeout="$(uci_get travelmate global trm_timeout)"
 
        if [ -s "${trm_pidfile}" ]
        then
                ppid="$(cat "${trm_pidfile}" 2>/dev/null)"
                if [ -n "${ppid}" ]
                then
-                       pid="$(pgrep sleep -P ${ppid} 2>/dev/null)"
+                       pid="$(pgrep -xnf "sleep ${timeout:-60} 0" -P ${ppid} 2>/dev/null)"
                        if [ -n "${pid}" ]
                        then
                                kill -INT ${pid} 2>/dev/null
index 71bb6712bbdc974af8eccf2b8f1d3e27a9da4988..c280dff51ce753ad84da90d92fe14e92f4425eff 100755 (executable)
@@ -10,7 +10,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-trm_ver="1.3.6"
+trm_ver="1.3.7"
 trm_sysver="unknown"
 trm_enabled=0
 trm_debug=0
@@ -474,7 +474,7 @@ do
                        f_check "initial"
                        if [ "${trm_ifstatus}" = "true" ]
                        then
-                               sleep ${trm_timeout}
+                               sleep ${trm_timeout} 0
                        fi
                        if [ $? -eq 0 ] || [ "${trm_ifstatus}" = "false" ]
                        then