The callstack contexts will use the CPU id to save per-CPU data so this
field needs to be set before calling the get_size function of this
context.
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
struct lttng_client_ctx client_ctx;
int ret, cpu;
struct lttng_client_ctx client_ctx;
int ret, cpu;
- /* Compute internal size of context structures. */
- ctx_get_struct_size(lttng_chan->ctx, &client_ctx.packet_context_len, lttng_chan, ctx);
- ctx_get_struct_size(event->ctx, &client_ctx.event_context_len, lttng_chan, ctx);
-
cpu = lib_ring_buffer_get_cpu(&client_config);
if (unlikely(cpu < 0))
return -EPERM;
ctx->cpu = cpu;
cpu = lib_ring_buffer_get_cpu(&client_config);
if (unlikely(cpu < 0))
return -EPERM;
ctx->cpu = cpu;
+ /* Compute internal size of context structures. */
+ ctx_get_struct_size(lttng_chan->ctx, &client_ctx.packet_context_len, lttng_chan, ctx);
+ ctx_get_struct_size(event->ctx, &client_ctx.event_context_len, lttng_chan, ctx);
+
switch (lttng_chan->header_type) {
case 1: /* compact */
if (event_id > 30)
switch (lttng_chan->header_type) {
case 1: /* compact */
if (event_id > 30)