main: switch errors in initialization to fatal errors

This commit is contained in:
Miroslav Lichvar 2014-04-30 16:27:53 +02:00
parent 3f1aea2f53
commit fe35de6931

10
main.c
View file

@ -255,7 +255,7 @@ write_lockfile(void)
out = fopen(pidfile, "w"); out = fopen(pidfile, "w");
if (!out) { if (!out) {
LOG(LOGS_ERR, LOGF_Main, "could not open lockfile %s for writing", pidfile); LOG_FATAL(LOGF_Main, "could not open lockfile %s for writing", pidfile);
} else { } else {
fprintf(out, "%d\n", getpid()); fprintf(out, "%d\n", getpid());
fclose(out); fclose(out);
@ -277,14 +277,14 @@ go_daemon(void)
/* Create pipe which will the daemon use to notify the grandparent /* Create pipe which will the daemon use to notify the grandparent
when it's initialised or send an error message */ when it's initialised or send an error message */
if (pipe(pipefd)) { if (pipe(pipefd)) {
LOG(LOGS_ERR, LOGF_Logging, "Could not detach, pipe failed : %s", strerror(errno)); LOG_FATAL(LOGF_Logging, "Could not detach, pipe failed : %s", strerror(errno));
} }
/* Does this preserve existing signal handlers? */ /* Does this preserve existing signal handlers? */
pid = fork(); pid = fork();
if (pid < 0) { if (pid < 0) {
LOG(LOGS_ERR, LOGF_Logging, "Could not detach, fork failed : %s", strerror(errno)); LOG_FATAL(LOGF_Logging, "Could not detach, fork failed : %s", strerror(errno));
} else if (pid > 0) { } else if (pid > 0) {
/* In the 'grandparent' */ /* In the 'grandparent' */
char message[1024]; char message[1024];
@ -309,7 +309,7 @@ go_daemon(void)
pid = fork(); pid = fork();
if (pid < 0) { if (pid < 0) {
LOG(LOGS_ERR, LOGF_Logging, "Could not detach, fork failed : %s", strerror(errno)); LOG_FATAL(LOGF_Logging, "Could not detach, fork failed : %s", strerror(errno));
} else if (pid > 0) { } else if (pid > 0) {
exit(0); /* In the 'parent' */ exit(0); /* In the 'parent' */
} else { } else {
@ -317,7 +317,7 @@ go_daemon(void)
/* Change current directory to / */ /* Change current directory to / */
if (chdir("/") < 0) { if (chdir("/") < 0) {
LOG(LOGS_ERR, LOGF_Logging, "Could not chdir to / : %s", strerror(errno)); LOG_FATAL(LOGF_Logging, "Could not chdir to / : %s", strerror(errno));
} }
/* Don't keep stdin/out/err from before. But don't close /* Don't keep stdin/out/err from before. But don't close