X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdaemon.c;h=5486504641b6ded5fa94dae6b5506be66a07ba0c;hb=b14c5fe9bd85b440d1727934c84d5f7fded051f7;hp=59628f23335d85368b29527b495cc761253ae44b;hpb=3762274e6359f4afe04107851f4c71347fa0afa0;p=openvswitch diff --git a/lib/daemon.c b/lib/daemon.c index 59628f23..54865046 100644 --- a/lib/daemon.c +++ b/lib/daemon.c @@ -32,20 +32,21 @@ #include "socket-util.h" #include "timeval.h" #include "util.h" - -#define THIS_MODULE VLM_daemon #include "vlog.h" -/* Should we run in the background? */ +VLOG_DEFINE_THIS_MODULE(daemon) + +/* --detach: Should we run in the background? */ static bool detach; -/* Name of pidfile (null if none). */ +/* --pidfile: Name of pidfile (null if none). */ static char *pidfile; -/* Create pidfile even if one already exists and is locked? */ +/* --overwrite-pidfile: Create pidfile even if one already exists and is + locked? */ static bool overwrite_pidfile; -/* Should we chdir to "/"? */ +/* --no-chdir: Should we chdir to "/"? */ static bool chdir_ = true; /* File descriptor used by daemonize_start() and daemonize_complete(). */ @@ -58,7 +59,7 @@ static bool monitor; /* Returns the file name that would be used for a pidfile if 'name' were * provided to set_pidfile(). The caller must free the returned string. */ char * -make_pidfile_name(const char *name) +make_pidfile_name(const char *name) { return (!name ? xasprintf("%s/%s.pid", ovs_rundir, program_name) @@ -174,9 +175,9 @@ die_if_already_running(void) } } -/* If a pidfile has been configured, creates it and stores the running process' - * pid init. Ensures that the pidfile will be deleted when the process - * exits. */ +/* If a pidfile has been configured, creates it and stores the running + * process's pid in it. Ensures that the pidfile will be deleted when the + * process exits. */ static void make_pidfile(void) { @@ -448,6 +449,10 @@ daemonize_start(void) } make_pidfile(); + + /* Make sure that the unixctl commands for vlog get registered in a + * daemon, even before the first log message. */ + vlog_init(); } /* If daemonization is configured, then this function notifies the parent