sessiond: add --background argument
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 27 Jan 2014 03:59:31 +0000 (22:59 -0500)
committerDavid Goulet <dgoulet@efficios.com>
Tue, 28 Jan 2014 21:19:41 +0000 (16:19 -0500)
Allow starting sessiond like --daemonize, but keeps console open.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
doc/man/lttng-sessiond.8
src/bin/lttng-sessiond/main.c

index ade2e66b571b02c09d89b9a3a1360281bc25dc8d..ee355fe1af526a8d5cfe83a601b459ec315c518c 100644 (file)
@@ -56,6 +56,9 @@ Verbose mode for consumer. Activate DBG() macro.
 .BR "-d, --daemonize"
 Start as a daemon
 .TP
+.BR "-b, --background"
+Start as a daemon, keeping console open
+.TP
 .BR "-g, --group=NAME"
 Specify the tracing group name. (default: tracing)
 .TP
index a9e6797556ec1dde54f714a64bd31f344f1c3f60..37c7354ef0827f22fd23a1f53c2a71464fb18c1a 100644 (file)
@@ -77,7 +77,7 @@ static int tracing_group_name_override;
 static char *opt_pidfile;
 static int opt_sig_parent;
 static int opt_verbose_consumer;
-static int opt_daemon;
+static int opt_daemon, opt_background;
 static int opt_no_kernel;
 static int is_root;                    /* Set to 1 if the daemon is running as root */
 static pid_t ppid;          /* Parent PID for --sig-parent option */
@@ -140,6 +140,7 @@ static const struct option long_options[] = {
        { "consumerd64-path", 1, 0, 't' },
        { "consumerd64-libdir", 1, 0, 'T' },
        { "daemonize", 0, 0, 'd' },
+       { "background", 0, 0, 'b' },
        { "sig-parent", 0, 0, 'S' },
        { "help", 0, 0, 'h' },
        { "group", 1, 0, 'g' },
@@ -311,7 +312,7 @@ void lttng_sessiond_notify_ready(void)
                 * Notify the parent of the fork() process that we are
                 * ready.
                 */
-               if (opt_daemon) {
+               if (opt_daemon || opt_background) {
                        kill(child_ppid, SIGUSR1);
                }
        }
@@ -4039,6 +4040,7 @@ static void usage(void)
        fprintf(stderr, "      --consumerd64-path PATH     Specify path for the 64-bit UST consumer daemon binary\n");
        fprintf(stderr, "      --consumerd64-libdir PATH   Specify path for the 64-bit UST consumer daemon libraries\n");
        fprintf(stderr, "  -d, --daemonize                    Start as a daemon.\n");
+       fprintf(stderr, "  -b, --background                   Start as a daemon, keeping console open.\n");
        fprintf(stderr, "  -g, --group NAME                   Specify the tracing group name. (default: tracing)\n");
        fprintf(stderr, "  -V, --version                      Show version number.\n");
        fprintf(stderr, "  -S, --sig-parent                   Send SIGUSR1 to parent pid to notify readiness.\n");
@@ -4077,6 +4079,9 @@ static int set_option(int opt, const char *arg, const char *optname)
        case 'd':
                opt_daemon = 1;
                break;
+       case 'b':
+               opt_background = 1;
+               break;
        case 'g':
                tracing_group_name = strdup(arg);
                break;
@@ -4725,10 +4730,11 @@ int main(int argc, char **argv)
        }
 
        /* Daemonize */
-       if (opt_daemon) {
+       if (opt_daemon || opt_background) {
                int i;
 
-               ret = lttng_daemonize(&child_ppid, &recv_child_signal, 1);
+               ret = lttng_daemonize(&child_ppid, &recv_child_signal,
+                       !opt_background);
                if (ret < 0) {
                        goto error;
                }
This page took 0.028935 seconds and 4 git commands to generate.