Fix: Argument with 'nonnull' attribute passed null
[lttng-ust.git] / liblttng-ust-ctl / ustctl.c
index e07ec926adb51b843c66b0e55207f01e5432b628..5801bc6b4b78e6b8c6b837d44755c79f1264f348 100644 (file)
@@ -32,6 +32,7 @@
 #include "../libringbuffer/frontend.h"
 #include "../liblttng-ust/wait.h"
 #include "../liblttng-ust/lttng-rb-clients.h"
+#include "../liblttng-ust/clock.h"
 
 /*
  * Number of milliseconds to retry before failing metadata writes on
@@ -230,7 +231,7 @@ int ustctl_add_context(int sock, struct lttng_ust_context *ctx,
        memset(&lum, 0, sizeof(lum));
        lum.handle = obj_data->handle;
        lum.cmd = LTTNG_UST_CONTEXT;
-       lum.u.context.ctx = ctx->ctx;
+       lum.u.context = *ctx;
        ret = ustcomm_send_app_cmd(sock, &lum, &lur);
        if (ret) {
                free(context_data);
@@ -942,8 +943,14 @@ error:
 
 /* Buffer operations */
 
+int ustctl_get_nr_stream_per_channel(void)
+{
+       return num_possible_cpus();
+}
+
 struct ustctl_consumer_channel *
-       ustctl_create_channel(struct ustctl_consumer_channel_attr *attr)
+       ustctl_create_channel(struct ustctl_consumer_channel_attr *attr,
+               const int *stream_fds, int nr_stream_fds)
 {
        struct ustctl_consumer_channel *chan;
        const char *transport_name;
@@ -995,7 +1002,8 @@ struct ustctl_consumer_channel *
                        attr->subbuf_size, attr->num_subbuf,
                        attr->switch_timer_interval,
                        attr->read_timer_interval,
-                       attr->uuid, attr->chan_id);
+                       attr->uuid, attr->chan_id,
+                       stream_fds, nr_stream_fds);
        if (!chan->chan) {
                goto chan_error;
        }
@@ -1638,6 +1646,22 @@ int ustctl_get_current_timestamp(struct ustctl_consumer_stream *stream,
        return client_cb->current_timestamp(buf, handle, ts);
 }
 
+#if defined(__x86_64__) || defined(__i386__)
+
+int ustctl_has_perf_counters(void)
+{
+       return 1;
+}
+
+#else
+
+int ustctl_has_perf_counters(void)
+{
+       return 0;
+}
+
+#endif
+
 /*
  * Returns 0 on success, negative error value on error.
  */
@@ -1980,6 +2004,7 @@ static __attribute__((constructor))
 void ustctl_init(void)
 {
        init_usterr();
+       lttng_ust_clock_init();
        lttng_ring_buffer_metadata_client_init();
        lttng_ring_buffer_client_overwrite_init();
        lttng_ring_buffer_client_overwrite_rt_init();
This page took 0.02405 seconds and 4 git commands to generate.