Fix: set client socket permissions after launch of client thread
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 12 Dec 2018 03:27:20 +0000 (22:27 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 12 Dec 2018 03:28:19 +0000 (22:28 -0500)
The client thread is now the owner of the client socket.  As the
client socket is now created by the client thread, the socket's
permissions must be set after the launch of the client thread.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/main.c

index 7f66a7271222d16b11dbb501ddf7dd5c0e291fb2..c45280d11583f0d8f1f44b125546b24b7d5e3232 100644 (file)
@@ -1626,12 +1626,6 @@ int main(int argc, char **argv)
                goto stop_threads;
        }
 
-       /* Set credentials to socket */
-       if (is_root && set_permissions(config.rundir.value)) {
-               retval = -1;
-               goto stop_threads;
-       }
-
        /* Get parent pid if -S, --sig-parent is specified. */
        if (config.sig_parent) {
                ppid = getppid();
@@ -1741,6 +1735,12 @@ int main(int argc, char **argv)
                goto stop_threads;
        }
 
+       /* Set credentials of the client socket and rundir */
+       if (is_root && set_permissions(config.rundir.value)) {
+               retval = -1;
+               goto stop_threads;
+       }
+
        if (!launch_ust_dispatch_thread(&ust_cmd_queue, apps_cmd_pipe[1],
                        apps_cmd_notify_pipe[1])) {
                retval = -1;
This page took 0.03988 seconds and 4 git commands to generate.