diff options
Diffstat (limited to 'runit/runsv.c')
-rw-r--r-- | runit/runsv.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/runit/runsv.c b/runit/runsv.c index 4dfdd3dc1..8b787543f 100644 --- a/runit/runsv.c +++ b/runit/runsv.c | |||
@@ -311,7 +311,6 @@ static void startservice(struct svdir *s) | |||
311 | int p; | 311 | int p; |
312 | const char *arg[4]; | 312 | const char *arg[4]; |
313 | char exitcode[sizeof(int)*3 + 2]; | 313 | char exitcode[sizeof(int)*3 + 2]; |
314 | char sigcode[sizeof(int)*3 + 2]; | ||
315 | 314 | ||
316 | if (s->state == S_FINISH) { | 315 | if (s->state == S_FINISH) { |
317 | /* Two arguments are given to ./finish. The first one is ./run exit code, | 316 | /* Two arguments are given to ./finish. The first one is ./run exit code, |
@@ -324,13 +323,12 @@ static void startservice(struct svdir *s) | |||
324 | arg[0] = "./finish"; | 323 | arg[0] = "./finish"; |
325 | arg[1] = "-1"; | 324 | arg[1] = "-1"; |
326 | if (WIFEXITED(s->wstat)) { | 325 | if (WIFEXITED(s->wstat)) { |
327 | sprintf(exitcode, "%u", (int) WEXITSTATUS(s->wstat)); | 326 | *utoa_to_buf(WEXITSTATUS(s->wstat), exitcode, sizeof(exitcode)) = '\0'; |
328 | arg[1] = exitcode; | 327 | arg[1] = exitcode; |
329 | } | 328 | } |
330 | //arg[2] = "0"; | 329 | //arg[2] = "0"; |
331 | //if (WIFSIGNALED(s->wstat)) { | 330 | //if (WIFSIGNALED(s->wstat)) { |
332 | sprintf(sigcode, "%u", (int) WTERMSIG(s->wstat)); | 331 | arg[2] = utoa(WTERMSIG(s->wstat)); |
333 | arg[2] = sigcode; | ||
334 | //} | 332 | //} |
335 | arg[3] = NULL; | 333 | arg[3] = NULL; |
336 | } else { | 334 | } else { |