Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openwrt/routing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/olsrd
diff options
context:
space:
mode:
authorTobias Schwarz <info@tobias-schwarz.com>2021-07-13 21:08:14 +0300
committerPolynomdivision <vincent@systemli.org>2021-07-31 12:36:39 +0300
commitbc58bd99e81b72f8061473eec5d3454b3504b163 (patch)
treea28410d9b7870024bc14a97527b4274e10fddcf8 /olsrd
parent8483b6d99fc6fb2d9c5917892d4493b1b2caaf27 (diff)
olsrd: improve respawn settings
This increases the amount of seconds to wait before a service restart attempt from 5 to 15 seconds and allows unlimited retries. Olsrd sometimes crashes together with a network interface and 5 seconds can be too short to bring back up a crashed network interface, which is required for olsrd to restart. It also adds the ability to configure the wait time (respawn_timeout) and the number of retries (respawn_retry). Signed-off-by: Tobias Schwarz <info@tobias-schwarz.com>
Diffstat (limited to 'olsrd')
-rw-r--r--olsrd/files/olsrd.config4
-rw-r--r--olsrd/files/olsrd4.init12
-rw-r--r--olsrd/files/olsrd6.config4
-rw-r--r--olsrd/files/olsrd6.init10
4 files changed, 27 insertions, 3 deletions
diff --git a/olsrd/files/olsrd.config b/olsrd/files/olsrd.config
index 15ea80a..25812fa 100644
--- a/olsrd/files/olsrd.config
+++ b/olsrd/files/olsrd.config
@@ -22,3 +22,7 @@ config LoadPlugin
config Interface
list interface 'wlan'
+
+config procd general
+ option respawn_timeout '15'
+ option respawn_retry '0'
diff --git a/olsrd/files/olsrd4.init b/olsrd/files/olsrd4.init
index ceb553a..03836eb 100644
--- a/olsrd/files/olsrd4.init
+++ b/olsrd/files/olsrd4.init
@@ -24,15 +24,23 @@ boot()
start_service() {
olsrd_generate_config $OLSRD
-
+
procd_open_instance
+
+ config_load olsrd
+ local _respawn_timeout
+ local _respawn_retry
+
+ config_get _respawn_timeout general respawn_timeout
+ config_get _respawn_retry general respawn_retry
+
procd_set_param command "$BIN"
procd_append_param command -f ${CONF}
procd_append_param command -nofork
procd_append_param command -pidfile ${PID}
# restart if olsrd dies
- procd_set_param respawn
+ procd_set_param respawn 3600 $_respawn_timeout $_respawn_retry
# automatically restart olsrd if generated cfg has changed
procd_set_param file $CONF
diff --git a/olsrd/files/olsrd6.config b/olsrd/files/olsrd6.config
index 7a03f28..57ae698 100644
--- a/olsrd/files/olsrd6.config
+++ b/olsrd/files/olsrd6.config
@@ -9,3 +9,7 @@ config LoadPlugin
config Interface
list interface 'wlan'
+
+config procd general
+ option respawn_timeout '15'
+ option respawn_retry '0'
diff --git a/olsrd/files/olsrd6.init b/olsrd/files/olsrd6.init
index 6d0b59b..77b68e8 100644
--- a/olsrd/files/olsrd6.init
+++ b/olsrd/files/olsrd6.init
@@ -26,13 +26,21 @@ start_service() {
olsrd_generate_config $OLSRD
procd_open_instance
+
+ config_load olsrd6
+ local _respawn_timeout
+ local _respawn_retry
+
+ config_get _respawn_timeout general respawn_timeout
+ config_get _respawn_retry general respawn_retry
+
procd_set_param command "$BIN"
procd_append_param command -f ${CONF}
procd_append_param command -nofork
procd_append_param command -pidfile ${PID}
# restart if olsrd dies
- procd_set_param respawn
+ procd_set_param respawn 3600 $_respawn_timeout $_respawn_retry
# automatically restart olsrd if generated cfg has changed
procd_set_param file $CONF