]> andersk Git - moira.git/blobdiff - server/startmoira.c
startmoira now sends a zephyr to -c moira -i startmoira when moirad
[moira.git] / server / startmoira.c
index 93561868c0c8e3c986fcd95dd48620c78ec50b94..4bb8925c265849dfe6a9a44c415aeda1d8a4099e 100644 (file)
@@ -27,6 +27,7 @@ static char *rcsid_mr_starter_c = "$Header$";
 #include <moira_site.h>
 
 #define PROG   "moirad"
+char *whoami
 
 int rdpipe[2];
 extern char *sys_siglist[];
@@ -42,15 +43,17 @@ cleanup()
        
        while (wait3(&stat, WNOHANG, 0) > 0) {
                if (WIFEXITED(stat)) {
-                       if (stat.w_retcode)
+                       if (stat.w_retcode) {
                                sprintf(buf,
-                                       "exited with code %d\n",
+                                       "moirad exited with code %d\n",
                                        stat.w_retcode);
+                               send_zgram("startmoira", buf);
                }
                if (WIFSIGNALED(stat)) {
-                       sprintf(buf, "exited on %s signal%s\n",
+                       sprintf(buf, "moirad exited on %s signal%s\n",
                                sys_siglist[stat.w_termsig],
                                (stat.w_coredump?"; Core dumped":0));
+                       if(stat.w_coredump) send_zgram("startmoira", buf);
                }
                write(rdpipe[1], buf, strlen(buf));
                close(rdpipe[1]);
@@ -59,6 +62,8 @@ cleanup()
 }
 
 main(argc, argv)
+       int argc;
+       char **argv;
 {
        char buf[BUFSIZ];
        FILE *log, *prog;
@@ -69,6 +74,8 @@ main(argc, argv)
        
        int nfds = getdtablesize();
        
+       whoami = argv[0];
+
        setreuid(0);
        signal(SIGCHLD, cleanup);
        
This page took 0.034101 seconds and 4 git commands to generate.