We'll get a SIGCHLD so no need to double-fork - sinit - suckless init
 (HTM) git clone git://git.suckless.org/sinit
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 314b062efc5961bc3743df484a5cea9e7e62181f
 (DIR) parent 11333316755b558ba963ad7b8a6b169f762fadfa
 (HTM) 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:
         M sinit.c                             |       7 -------
       
       1 file changed, 0 insertions(+), 7 deletions(-)
       ---
 (DIR) 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);
        }