Enable procd to restrict the execution time of a rc scripts during shutdown, even when a script ignores the SIGTERM signal by insisting after 10s with a SIGKILL.
Signed-off-by: Jurgen Van Ham <juvanham...@gmail.com> --- file /etc/rc.d/K01test reproduces the problem that this patch addresses. #!/bin/sh h_sigterm() { echo $0 SIGTERM > /dev/console } stop() { local x=0 while true; do x=$(($x+1)) echo $0 PING $x > /dev/console sleep 1 done } trap h_sigterm SIGTERM case "$1" in stop|shutdown) stop ;; esac creating the above file results in a board that cannot complete the 'reboot' command. rcS.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rcS.c b/rcS.c index 1e38d39..0208a75 100644 --- a/rcS.c +++ b/rcS.c @@ -121,8 +121,10 @@ static void add_initd(struct runqueue *q, char *file, char *param) } s->proc.task.type = &initd_type; s->proc.task.complete = q_initd_complete; - if (!strcmp(param, "stop") || !strcmp(param, "shutdown")) + if (!strcmp(param, "stop") || !strcmp(param, "shutdown")) { s->proc.task.run_timeout = 15000; + s->proc.task.cancel_timeout = 10000; + } s->param = p; s->file = f; strcpy(s->param, param); -- 1.7.9.5 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev