int i;
char **arg = argv;
char *qargv[3];
+ char *s;
int status;
whoami = argv[0];
- dbg = atoi(getenv("DEBUG"));
+ s = getenv("DEBUG");
+ dbg = s ? atoi(s) : 0;
umask(UMASK);
log_flags = 0;
setlinebuf(stderr);
waits.w_status = system(dfgen_cmd);
signal(SIGCHLD, cstat);
if (waits.w_termsig) {
- status = MR_TAR_FAIL;
+ status = MR_COREDUMP;
com_err(whoami, status, " %s exited on signal %d",
dfgen_prog, waits.w_termsig);
} else if (waits.w_retcode) {
status = mr_update_server(svc->service, machine, svc->target,
svc->script);
if (status == MR_SUCCESS) {
- argv[2] = "0";
+ argv[2] = argv[4] = "0";
argv[3] = "1";
free(argv[8]);
argv[8] = itoa(tv.tv_sec);
} else if (SOFT_FAIL(status)) {
+ argv[4] = "0";
free(argv[6]);
argv[6] = strsave(error_message(status));
} else { /* HARD_FAIL */
argv[2] = itoa(shost.override);
+ argv[4] = "0";
argv[5] = itoa(status);
free(argv[6]);
argv[6] = strsave(error_message(status));
free(qargv[4]);
free(qargv[5]);
close(lock_fd);
- free(argv[2]);
- argv[4] = "0";
- free(argv[5]);
status = mr_query_with_retry("set_server_host_internal",
9, argv,scream,NULL);
+ free(argv[2]);
+ free(argv[5]);
if (status)
com_err(whoami, status, " setting host state again");
return(-1);
}
- free(argv[2]);
- free(argv[5]);
}
- argv[4] = "0";
close(lock_fd);
status = mr_query_with_retry("set_server_host_internal", 9, argv,
scream, NULL);
if (status)
com_err(whoami, status, " setting host state again");
+/* free(argv[2]);
+ free(argv[5]); */
free_mach:
free(machine);
close(lock_fd);