X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdaemon.c;h=a35c6393452887514f3180792d00f01553d7a8ba;hb=6c88d577e83db12f73df12be8fc575419b011fda;hp=a011d37fe02d9e3cf5bfb6daf265c11e089b85ed;hpb=91a1e24d09ba1f08b1f8c08815f595187c6ef946;p=openvswitch diff --git a/lib/daemon.c b/lib/daemon.c index a011d37f..a35c6393 100644 --- a/lib/daemon.c +++ b/lib/daemon.c @@ -23,6 +23,7 @@ #include #include "fatal-signal.h" #include "dirs.h" +#include "timeval.h" #include "util.h" #define THIS_MODULE VLM_daemon @@ -35,7 +36,7 @@ static bool detach; static char *pidfile; /* Create pidfile even if one already exists and is locked? */ -static bool force; +static bool overwrite_pidfile; /* Should we chdir to "/". */ static bool chdir_ = true; @@ -85,7 +86,7 @@ set_no_chdir(void) void ignore_existing_pidfile(void) { - force = true; + overwrite_pidfile = true; } /* Sets up a following call to daemonize() to detach from the foreground @@ -127,7 +128,7 @@ die_if_already_running(void) { pid_t pid = already_running(); if (pid) { - if (!force) { + if (!overwrite_pidfile) { ovs_fatal(0, "%s: already running as pid %ld", get_pidfile(), (long int) pid); } else { @@ -222,6 +223,7 @@ daemonize(void) if (chdir_) { chdir("/"); } + time_postfork(); break; case -1: @@ -239,10 +241,11 @@ daemon_usage(void) { printf( "\nDaemon options:\n" - " -D, --detach run in background as daemon\n" + " --detach run in background as daemon\n" " --no-chdir do not chdir to '/'\n" - " -P, --pidfile[=FILE] create pidfile (default: %s/%s.pid)\n" - " -f, --force with -P, start even if already running\n", + " --pidfile[=FILE] create pidfile (default: %s/%s.pid)\n" + " --overwrite-pidfile with --pidfile, start even if already " + "running\n", ovs_rundir, program_name); }