-/*
- * $Source$
- * $Author$
- * $Header$
+/* $Id$
*
- * Copyright (C) 1987 by the Massachusetts Institute of Technology
- * For copying and distribution information, please see the file
- * <mit-copyright.h>.
- *
- * This program starts the moira server in a "clean" environment.
- * and then waits for it to exit.
+ * This program starts the moira server in a "clean" environment.
+ * and then waits for it to exit.
*
+ * Copyright (C) 1987-1998 by the Massachusetts Institute of Technology
+ * For copying and distribution information, please see the file
+ * <mit-copyright.h>.
*/
-#ifndef lint
-static char *rcsid_mr_starter_c = "$Header$";
-#endif lint
-
#include <mit-copyright.h>
+#include <moira.h>
+#include <moira_site.h>
+
+#include <sys/resource.h>
+#include <sys/wait.h>
+
#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
#include <stdio.h>
#include <string.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#include <sys/wait.h>
-#include <sys/signal.h>
-#include <sys/ioctl.h>
-#include <time.h>
-#include <fcntl.h>
-#include <sys/resource.h>
-#include <moira_site.h>
+#include <unistd.h>
+RCSID("$Header$");
#define PROG "moirad"
int rdpipe[2];
-extern int errno;
char *whoami;
+void cleanup(void);
void cleanup(void)
{
if (WEXITSTATUS(stat))
{
sprintf(buf, "exited with code %d\n", WEXITSTATUS(stat));
- critical_alert("startmoira", "%s", buf);
+ critical_alert(whoami, "startmoira", "%s", buf);
}
}
if (WIFSIGNALED(stat))
sprintf(buf, "exited on signal %d%s\n", WTERMSIG(stat),
(WCOREDUMP(stat) ? "; Core dumped" : ""));
if (WCOREDUMP(stat))
- critical_alert("startmoira", "%s", buf);
+ critical_alert(whoami, "startmoira", "%s", buf);
}
write(rdpipe[1], buf, strlen(buf));
close(rdpipe[1]);
{
char buf[BUFSIZ];
FILE *log, *prog;
- int logf, inf, i, done, pid, tty;
+ int logf, inf, i, done, pid;
struct rlimit rl;
- extern int errno;
- extern char *sys_errlist[];
-
struct sigaction action;
int nfds;
sigemptyset(&action.sa_mask);
sigaction(SIGCHLD, &action, NULL);
- sprintf(buf, "%s/moira.log", SMS_DIR);
+ sprintf(buf, "%s/moira.log", MOIRA_DIR);
logf = open(buf, O_CREAT|O_WRONLY|O_APPEND, 0640);
if (logf < 0)
{
if (errno && errno != EINTR)
{
strcpy(buf, "Unable to read from program: ");
- strcat(buf, sys_errlist[errno]);
+ strcat(buf, strerror(errno));
strcat(buf, "\n");
}
else