summaryrefslogtreecommitdiff
path: root/src/supervision/s6-supervise.c
diff options
context:
space:
mode:
authorOlivier Brunel <jjk@jjacky.com>2017-01-27 20:57:14 +0100
committerLaurent Bercot <ska-skaware@skarnet.org>2017-01-28 14:11:04 +0000
commit6548949226baeaa2b4d4e2ce7a66cbf5ccb33516 (patch)
treeded8fb308f903d425d8ad5ae04ba216d153e6159 /src/supervision/s6-supervise.c
parent807e0eba726802e89206ea6dbad4f06606cb9e5d (diff)
downloads6-6548949226baeaa2b4d4e2ce7a66cbf5ccb33516.tar.xz
supervise: set down&ready (D) even on LASTFINISH
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
Diffstat (limited to 'src/supervision/s6-supervise.c')
-rw-r--r--src/supervision/s6-supervise.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/supervision/s6-supervise.c b/src/supervision/s6-supervise.c
index 8006e9f..a79f351 100644
--- a/src/supervision/s6-supervise.c
+++ b/src/supervision/s6-supervise.c
@@ -448,6 +448,12 @@ static void finish_X (void)
finish_x() ;
}
+static void lastfinish_z (void)
+{
+ finish_z() ;
+ bail ();
+}
+
static action_t_ref const actions[5][25] =
{
{ &downtimeout, &nop, &bail, &bail, &bail,
@@ -462,7 +468,7 @@ static action_t_ref const actions[5][25] =
{ &uptimeout, &lastup_z, &up_d, &nop, &closethem,
&killa, &killb, &killq, &killh, &killk, &killt, &killi, &kill1, &kill2, &nop, &nop, &killp, &killc, &killy,
&up_o, &up_d, &nop, &nop, &up_o, &closethem },
- { &finishtimeout, &bail, &nop, &nop, &closethem,
+ { &finishtimeout, &lastfinish_z, &nop, &nop, &closethem,
&nop, &nop, &nop, &nop, &nop, &nop, &nop, &nop, &nop, &nop, &nop, &nop, &nop, &nop,
&nop, &nop, &nop, &nop, &nop, &closethem }
} ;