Add locking for all session data structure
[lttng-tools.git] / ltt-sessiond / kernel-ctl.c
index 95463aa50fc96c6d6dfc67b8837fc08daa507dbf..0b0fca836bd59b612b3ffbc4eda86f855b2f8954 100644 (file)
@@ -25,7 +25,6 @@
 #include <unistd.h>
 
 #include "lttngerr.h"
-#include "ltt-sessiond.h"
 #include "libkernelctl.h"
 #include "kernel-ctl.h"
 
@@ -125,7 +124,6 @@ int kernel_create_session(struct ltt_session *session, int tracer_fd)
 
        lks->kconsumer_fds_sent = 0;
        session->kernel_session = lks;
-       session->kern_session_count++;
 
        DBG("Kernel session created (fd: %d)", lks->fd);
 
@@ -141,13 +139,13 @@ error:
  *  Create a kernel channel, register it to the kernel tracer and add it to the
  *  kernel session.
  */
-int kernel_create_channel(struct ltt_kernel_session *session, struct lttng_channel *chan)
+int kernel_create_channel(struct ltt_kernel_session *session, struct lttng_channel *chan, char *path)
 {
        int ret;
        struct ltt_kernel_channel *lkc;
 
        /* Allocate kernel channel */
-       lkc = trace_create_kernel_channel(chan);
+       lkc = trace_create_kernel_channel(chan, path);
        if (lkc == NULL) {
                goto error;
        }
@@ -325,13 +323,13 @@ error:
  *  Create kernel metadata, open from the kernel tracer and add it to the
  *  kernel session.
  */
-int kernel_open_metadata(struct ltt_kernel_session *session)
+int kernel_open_metadata(struct ltt_kernel_session *session, char *path)
 {
        int ret;
        struct ltt_kernel_metadata *lkm;
 
        /* Allocate kernel metadata */
-       lkm = trace_create_kernel_metadata();
+       lkm = trace_create_kernel_metadata(path);
        if (lkm == NULL) {
                goto error;
        }
@@ -491,8 +489,8 @@ int kernel_open_channel_stream(struct ltt_kernel_channel *channel)
                        perror("fcntl session fd");
                }
 
-               ret = asprintf(&lks->pathname, "%s/trace_%d",
-                               channel->pathname, channel->stream_count);
+               ret = asprintf(&lks->pathname, "%s/%s_%d",
+                               channel->pathname, channel->channel->name, channel->stream_count);
                if (ret < 0) {
                        perror("asprintf kernel create stream");
                        goto error;
This page took 0.023688 seconds and 4 git commands to generate.