.././gdb/libmrgdb.a -lcom_err \
/mit/gdss/`machtype`/libgdss.a -lkrb -ldes -lhesiod \
${SQL_LIB}, ${PROGDIR})
-program(startmoira, startmoira.o,,, ${PROGDIR})
+program(startmoira, startmoira.o,${MR_LIBDEP} ${GDB_LIBDEP},\
+ -L/usr/athena/lib .././lib/libmoira.a -lzephyr \
+ .././gdb/libmrgdb.a -lcom_err \
+ /mit/gdss/`machtype`/libgdss.a -lkrb -ldes -lhesiod \
+ ${SQL_LIB}, ${PROGDIR})
library_obj_rule()
install_library_target(mrglue,$(GLUOBJS),$(SRCS),)
#include <moira_site.h>
#define PROG "moirad"
+char *whoami
int rdpipe[2];
extern char *sys_siglist[];
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]);
}
main(argc, argv)
+ int argc;
+ char **argv;
{
char buf[BUFSIZ];
FILE *log, *prog;
int nfds = getdtablesize();
+ whoami = argv[0];
+
setreuid(0);
signal(SIGCHLD, cleanup);