[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 4/5] tools/xenstored: remove "-N" command line option
The "-N" (do not daemonize) command line option is of questionable use: its sole purpose seems to be to aid debugging of xenstored by making it easier to start xenstored under gdb, or to see any debug messages easily. Debug messages can as well be sent to syslog(), while gdb can be attached to the daemon easily. The only not covered case is an error while initializing xenstored, but this could be handled e.g. by saving a core dump, which can be analyzed later. The call of talloc_enable_leak_report_full() done only with "-N" specified is no longer needed, as the same can be achieved via "xenstore-control memreport". Signed-off-by: Juergen Gross <jgross@xxxxxxxx> --- Slightly RFC, as this is making debugging a little bit harder in specific cases. OTOH I didn't use this option since years, in spite of having done a _lot_ of xenstore hacking. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> --- tools/xenstored/core.c | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c index 5a6378316a..c3cfef0965 100644 --- a/tools/xenstored/core.c +++ b/tools/xenstored/core.c @@ -2652,7 +2652,6 @@ static void usage(void) "\n" " -F, --pid-file <file> giving a file for the daemon's pid to be written,\n" " -H, --help to output this message,\n" -" -N, --no-fork to request that the daemon does not fork,\n" " -T, --trace-file <file> giving the file for logging, and\n" " --trace-control=+<switch> activate a specific <switch>\n" " --trace-control=-<switch> deactivate a specific <switch>\n" @@ -2699,7 +2698,6 @@ static struct option options[] = { { "event", 1, NULL, 'e' }, { "master-domid", 1, NULL, 'm' }, { "help", 0, NULL, 'H' }, - { "no-fork", 0, NULL, 'N' }, { "priv-domid", 1, NULL, 'p' }, { "entry-size", 1, NULL, 'S' }, { "trace-file", 1, NULL, 'T' }, @@ -2822,7 +2820,6 @@ int main(int argc, char *argv[]) { int opt; int sock_pollfd_idx = -1; - bool dofork = true; bool live_update = false; const char *pidfile = NULL; int timeout; @@ -2831,7 +2828,7 @@ int main(int argc, char *argv[]) orig_argv = argv; while ((opt = getopt_long(argc, argv, - "E:F:H::KNS:t:A:M:Q:q:T:RW:w:U", + "E:F:H::KS:t:A:M:Q:q:T:RW:w:U", options, NULL)) != -1) { switch (opt) { case 'E': @@ -2843,9 +2840,6 @@ int main(int argc, char *argv[]) case 'H': usage(); return 0; - case 'N': - dofork = false; - break; case 'R': recovery = false; break; @@ -2911,18 +2905,13 @@ int main(int argc, char *argv[]) /* Errors ignored here, will be reported when we open files */ mkdir(xenstore_daemon_rundir(), 0755); - if (dofork) { - openlog("xenstored", 0, LOG_DAEMON); - if (!live_update) - daemonize(); - } + openlog("xenstored", 0, LOG_DAEMON); + if (!live_update) + daemonize(); + if (pidfile) write_pidfile(pidfile); - /* Talloc leak reports go to stderr, which is closed if we fork. */ - if (!dofork) - talloc_enable_leak_report_full(); - /* Don't kill us with SIGPIPE. */ signal(SIGPIPE, SIG_IGN); @@ -2942,11 +2931,10 @@ int main(int argc, char *argv[]) } /* redirect to /dev/null now we're ready to accept connections */ - if (dofork && !live_update) + if (!live_update) finish_daemonize(); #ifndef __MINIOS__ - if (dofork) - xprintf = trace; + xprintf = trace; #endif signal(SIGHUP, trigger_reopen_log); -- 2.35.3
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |