diff options
Diffstat (limited to 'runit/runsvdir.c')
-rw-r--r-- | runit/runsvdir.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/runit/runsvdir.c b/runit/runsvdir.c index cce2c5d9c..39929fc49 100644 --- a/runit/runsvdir.c +++ b/runit/runsvdir.c | |||
@@ -97,9 +97,10 @@ static void runsv(int no, const char *name) | |||
97 | prog[0] = (char*)"runsv"; | 97 | prog[0] = (char*)"runsv"; |
98 | prog[1] = (char*)name; | 98 | prog[1] = (char*)name; |
99 | prog[2] = NULL; | 99 | prog[2] = NULL; |
100 | sig_uncatch(SIGHUP); | 100 | if (pgrp) |
101 | sig_uncatch(SIGTERM); | 101 | setsid(); |
102 | if (pgrp) setsid(); | 102 | signal(SIGHUP, SIG_DFL); |
103 | signal(SIGTERM, SIG_DFL); | ||
103 | BB_EXECVP(prog[0], prog); | 104 | BB_EXECVP(prog[0], prog); |
104 | //pathexec_run(*prog, prog, (char* const*)environ); | 105 | //pathexec_run(*prog, prog, (char* const*)environ); |
105 | fatal2_cannot("start runsv ", name); | 106 | fatal2_cannot("start runsv ", name); |