aboutsummaryrefslogtreecommitdiff
path: root/runit/runsv.c
diff options
context:
space:
mode:
Diffstat (limited to 'runit/runsv.c')
-rw-r--r--runit/runsv.c6
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 {