From bb9a68add4feef7c53ba3994256745ea99cffef8 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 20 Mar 2017 20:34:12 +0000 Subject: Implement permanent failure for services via ./finish exiting 125 --- src/supervision/s6-supervise.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/supervision/s6-supervise.c') diff --git a/src/supervision/s6-supervise.c b/src/supervision/s6-supervise.c index 8bb55c8..2e8ce6a 100644 --- a/src/supervision/s6-supervise.c +++ b/src/supervision/s6-supervise.c @@ -436,7 +436,13 @@ static void finishtimeout (void) static void finish_z (void) { - set_down_and_ready("D", 1) ; + int wstat = (int)status.pid ; + if (WIFEXITED(wstat) && WEXITSTATUS(wstat) == 125) + { + status.flagwant = 0 ; + set_down_and_ready("OD", 2) ; + } + else set_down_and_ready("D", 1) ; } static void finish_u (void) -- cgit v1.3.1