diff options
Diffstat (limited to 'src/supervision')
-rw-r--r-- | src/supervision/s6-svlisten.c | 4 | ||||
-rw-r--r-- | src/supervision/s6-svwait.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/supervision/s6-svlisten.c b/src/supervision/s6-svlisten.c index 205a382..2ab1d9b 100644 --- a/src/supervision/s6-svlisten.c +++ b/src/supervision/s6-svlisten.c @@ -9,6 +9,7 @@ #include <skalibs/strerr.h> #include <skalibs/djbunix.h> #include <skalibs/selfpipe.h> +#include <skalibs/exec.h> #include <s6/compat.h> #include "s6-svlisten.h" @@ -49,8 +50,9 @@ int main (int argc, char const **argv, char const *const *envp) } if (argc < 3) dieusage() ; argc1 = s6_el_semicolon(argv) ; - if (!argc1 || argc == argc1 + 1) dieusage() ; + if (argc == argc1 + 1) dieusage() ; if (argc1 >= argc) strerr_dief1x(100, "unterminated servicedir block") ; + if (!argc1) xexec(argv + argc1 + 1) ; if (wantup == 2 && or) { or = 0 ; diff --git a/src/supervision/s6-svwait.c b/src/supervision/s6-svwait.c index 2c7a312..78f5c3f 100644 --- a/src/supervision/s6-svwait.c +++ b/src/supervision/s6-svwait.c @@ -45,7 +45,7 @@ int main (int argc, char const *const *argv) argc -= l.ind ; argv += l.ind ; if (t) tain_from_millisecs(&deadline, t) ; else deadline = tain_infinite_relative ; } - if (!argc) dieusage() ; + if (!argc) return 0 ; tain_now_set_stopwatch_g() ; tain_add_g(&deadline, &deadline) ; |