Extend /etc/config/system with a parameter to enable
infinite respawn mode:
config system
option service_endless_respawn 1
All services that don't specify specific respawn parameters
will get their defaults added by procd.sh and if service_endless_respawn
is set respawn_retry will be set to -1. This makes procd to
respawn the service forever.
Signed-off-by: Helmut Schaa <[email protected]>
---
package/system/procd/files/procd.sh | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/package/system/procd/files/procd.sh
b/package/system/procd/files/procd.sh
index e83e75c..04111b9 100644
--- a/package/system/procd/files/procd.sh
+++ b/package/system/procd/files/procd.sh
@@ -316,6 +316,18 @@ _procd_append_param() {
}
_procd_close_instance() {
+ local respawn_vals
+ if json_select respawn ; then
+ json_get_values respawn_vals
+ if [ -z "$respawn_vals" ]; then
+ # Set respawn defaults
+ local respawn_retry
+ [[ -n "$(uci_get
system.@system[0].service_endless_respawn)" ]] && respawn_retry=-1
+ _procd_add_array_data 3600 5 ${respawn_retry:-5}
+ fi
+ json_select ..
+ fi
+
json_close_object
}
--
1.8.4.5
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel