]> andersk Git - moira.git/blobdiff - server/mr_main.c
don't initialize (deleted) state variable; don't print child message
[moira.git] / server / mr_main.c
index 09c09b38bdf009593d645f5d87530d55d169e4fb..9e61f2430df618b64bed1c20b9207287d9a5a4a9 100644 (file)
@@ -4,7 +4,8 @@
  *     $Header$
  *
  *     Copyright (C) 1987 by the Massachusetts Institute of Technology
- *
+ *     For copying and distribution information, please see the file
+ *     <mit-copyright.h>.
  *
  *     SMS server process.
  *
@@ -17,6 +18,7 @@
 
 static char *rcsid_sms_main_c = "$Header$";
 
+#include <mit-copyright.h>
 #include <strings.h>
 #include <sys/errno.h>
 #include <sys/signal.h>
@@ -127,6 +129,7 @@ main(argc, argv)
         */
        
        if ((((int)signal (SIGTERM, sigshut)) < 0) ||
+           (((int)signal (SIGCHLD, reapchild)) < 0) ||
            (((int)signal (SIGHUP, sigshut)) < 0)) {
                com_err(whoami, errno, " Unable to establish signal handler.");
                exit(1);
@@ -285,7 +288,6 @@ new_connection()
         */
        cp = (client *)malloc(sizeof *cp);
        bzero(cp, sizeof(*cp));
-       cp->state = CL_STARTING;
        cp->action = CL_ACCEPT;
        cp->con = newconn;
        cp->id = counter++;
@@ -439,6 +441,8 @@ void reapchild()
     union wait status;
     int pid;
 
+    if (takedown)
+      return;
     while ((pid = wait3(&status, WNOHANG, (struct rusage *)0)) > 0) {
        if  (status.w_termsig == 0 && status.w_retcode == 0)
          com_err(whoami, 0, "dcm started successfully");
This page took 0.052485 seconds and 4 git commands to generate.