Added callbacks to handle child process initialization.
[ashd.git] / src / htparser.c
index 17ad93a..503df99 100644 (file)
@@ -22,6 +22,7 @@
 #include <string.h>
 #include <sys/socket.h>
 #include <pwd.h>
+#include <sys/signal.h>
 #include <errno.h>
 
 #ifdef HAVE_CONFIG_H
@@ -453,7 +454,7 @@ int main(int argc, char **argv)
        usage(stderr);
        exit(1);
     }
-    if((plex = stdmkchild(argv + ++i)) < 0) {
+    if((plex = stdmkchild(argv + ++i, NULL, NULL)) < 0) {
        flog(LOG_ERR, "could not spawn root multiplexer: %s", strerror(errno));
        return(1);
     }
@@ -483,12 +484,14 @@ int main(int argc, char **argv)
            exit(1);
        }
     }
+    signal(SIGPIPE, SIG_IGN);
     if(daemonize) {
        daemon(0, 0);
     }
-    if(pidout != NULL)
+    if(pidout != NULL) {
        fprintf(pidout, "%i\n", getpid());
-    fclose(pidout);
+       fclose(pidout);
+    }
     ioloop();
     return(0);
 }