file = fopen(tmpfile, "a+");
if (!file) {
- VLOG_FATAL("%s: create failed (%s)", tmpfile, strerror(errno));
+ VLOG_FATAL("%s: create failed (%s)", tmpfile, ovs_strerror(errno));
}
error = lock_pidfile(file, F_SETLK);
/* Looks like we failed to acquire the lock. Note that, if we failed
* for some other reason (and '!overwrite_pidfile'), we will have
* left 'tmpfile' as garbage in the file system. */
- VLOG_FATAL("%s: fcntl(F_SETLK) failed (%s)", tmpfile, strerror(error));
+ VLOG_FATAL("%s: fcntl(F_SETLK) failed (%s)", tmpfile,
+ ovs_strerror(error));
}
if (!overwrite_pidfile) {
}
if (fstat(fileno(file), &s) == -1) {
- VLOG_FATAL("%s: fstat failed (%s)", tmpfile, strerror(errno));
+ VLOG_FATAL("%s: fstat failed (%s)", tmpfile, ovs_strerror(errno));
}
if (ftruncate(fileno(file), 0) == -1) {
- VLOG_FATAL("%s: truncate failed (%s)", tmpfile, strerror(errno));
+ VLOG_FATAL("%s: truncate failed (%s)", tmpfile, ovs_strerror(errno));
}
fprintf(file, "%ld\n", pid);
if (fflush(file) == EOF) {
- VLOG_FATAL("%s: write failed (%s)", tmpfile, strerror(errno));
+ VLOG_FATAL("%s: write failed (%s)", tmpfile, ovs_strerror(errno));
}
error = rename(tmpfile, pidfile);
if (error < 0) {
VLOG_FATAL("failed to rename \"%s\" to \"%s\" (%s)",
- tmpfile, pidfile, strerror(errno));
+ tmpfile, pidfile, ovs_strerror(errno));
}
/* Ensure that the pidfile will get deleted on exit. */
status_msg);
}
} else if (retval < 0) {
- VLOG_FATAL("waitpid failed (%s)", strerror(errno));
+ VLOG_FATAL("waitpid failed (%s)", ovs_strerror(errno));
} else {
NOT_REACHED();
}
error = write_fully(fd, "", 1, &bytes_written);
if (error) {
- VLOG_FATAL("pipe write failed (%s)", strerror(error));
+ VLOG_FATAL("pipe write failed (%s)", ovs_strerror(error));
}
close(fd);
char *status_msg;
int crashes;
- subprogram_name = "monitor";
+ set_subprogram_name("monitor");
status_msg = xstrdup("healthy");
last_restart = TIME_MIN;
crashes = 0;
} while (retval == -1 && errno == EINTR);
if (retval == -1) {
- VLOG_FATAL("waitpid failed (%s)", strerror(errno));
+ VLOG_FATAL("waitpid failed (%s)", ovs_strerror(errno));
} else if (retval == daemon_pid) {
char *s = process_status_msg(status);
if (should_restart(status)) {
r.rlim_max = 0;
if (setrlimit(RLIMIT_CORE, &r) == -1) {
VLOG_WARN("failed to disable core dumps: %s",
- strerror(errno));
+ ovs_strerror(errno));
}
}
/* Running in new daemon process. */
proctitle_restore();
- subprogram_name = "";
+ set_subprogram_name("");
}
/* Close standard file descriptors (except any that the client has requested we
/* Running in daemon process. */
}
+ forbid_forking("running in daemon process");
+
if (pidfile) {
make_pidfile();
}
return 0;
}
error = errno;
- VLOG_WARN("%s: open: %s", pidfile, strerror(error));
+ VLOG_WARN("%s: open: %s", pidfile, ovs_strerror(error));
goto error;
}
error = lock_pidfile__(file, F_GETLK, &lck);
if (error) {
- VLOG_WARN("%s: fcntl: %s", pidfile, strerror(error));
+ VLOG_WARN("%s: fcntl: %s", pidfile, ovs_strerror(error));
goto error;
}
if (lck.l_type == F_UNLCK) {
if (unlink(pidfile)) {
error = errno;
VLOG_WARN("%s: failed to delete stale pidfile (%s)",
- pidfile, strerror(error));
+ pidfile, ovs_strerror(error));
goto error;
}
VLOG_DBG("%s: deleted stale pidfile", pidfile);
if (!fgets(line, sizeof line, file)) {
if (ferror(file)) {
error = errno;
- VLOG_WARN("%s: read: %s", pidfile, strerror(error));
+ VLOG_WARN("%s: read: %s", pidfile, ovs_strerror(error));
} else {
error = ESRCH;
VLOG_WARN("%s: read: unexpected end of file", pidfile);
VLOG_FATAL("%s: already running as pid %ld, aborting", pidfile, pid);
} else if (pid < 0) {
VLOG_FATAL("%s: pidfile check failed (%s), aborting",
- pidfile, strerror(-pid));
+ pidfile, ovs_strerror(-pid));
}
}