commit 314b062efc5961bc3743df484a5cea9e7e62181f
parent 11333316755b558ba963ad7b8a6b169f762fadfa
Author: sin <sin@2f30.org>
Date: Fri, 7 Feb 2014 21:06:13 +0000
We'll get a SIGCHLD so no need to double-fork
Diffstat:
1 file changed, 0 insertions(+), 7 deletions(-)
diff --git a/sinit.c b/sinit.c
@@ -113,7 +113,6 @@ sigreboot(void)
static void
spawn(const Arg *arg)
{
- int status;
pid_t pid;
char *const *p = arg->v;
@@ -121,16 +120,10 @@ spawn(const Arg *arg)
if (pid < 0) {
weprintf("sinit: fork:");
} else if (pid == 0) {
- pid = fork();
- if (pid < 0)
- weprintf("sinit: fork:");
- else if (pid > 0)
- exit(0);
setsid();
setpgid(0, 0);
execvp(*p, p);
weprintf("sinit: execvp %s:", p);
_exit(errno == ENOENT ? 127 : 126);
}
- waitpid(pid, &status, 0);
}