From 1747a0f5142f0c36a61b37786368f05bcb3060f3 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 2 Mar 2018 12:09:48 +0000 Subject: Make s6-svwait et al. exit instead of hang if s6-supervise dies --- src/supervision/s6-svwait.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/supervision/s6-svwait.c') diff --git a/src/supervision/s6-svwait.c b/src/supervision/s6-svwait.c index 28d1c3d..f2bd34c 100644 --- a/src/supervision/s6-svwait.c +++ b/src/supervision/s6-svwait.c @@ -52,7 +52,8 @@ int main (int argc, char const *const *argv) unsigned char readystate[bitarray_div8(argc)] ; s6_svlisten_init(argc, argv, &foo, ids, upstate, readystate, &deadline) ; e = s6_svlisten_loop(&foo, wantup, wantready, or, &deadline, -1, 0) ; - if (e) strerr_dief1x(e, "some services reported permanent failure") ; + if (e < 0) strerr_dief1x(102, "supervisor died") ; + else if (e > 0) strerr_dief1x(e, "some services reported permanent failure") ; } return 0 ; } -- cgit v1.2.3