X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-app.c;h=9fe54835b656c69844599e3b0bd7b51f69db482f;hp=830b5eafeeb3328737f66cb75c7f7ef9526fb2ae;hb=6a00837f8cb0431a2ad90974d67fae138ea97dd5;hpb=8c924c7bfb12055ac5f87960501c888efb24c82e diff --git a/src/bin/lttng-sessiond/ust-app.c b/src/bin/lttng-sessiond/ust-app.c index 830b5eafe..9fe54835b 100644 --- a/src/bin/lttng-sessiond/ust-app.c +++ b/src/bin/lttng-sessiond/ust-app.c @@ -3962,7 +3962,7 @@ int ust_app_stop_trace_all(struct ltt_ust_session *usess) } } - /* Flush buffers */ + /* Flush buffers and push metadata (for UID buffers). */ switch (usess->buffer_type) { case LTTNG_BUFFER_PER_UID: { @@ -3970,6 +3970,7 @@ int ust_app_stop_trace_all(struct ltt_ust_session *usess) /* Flush all per UID buffers associated to that session. */ cds_list_for_each_entry(reg, &usess->buffer_reg_uid_list, lnode) { + struct ust_registry_session *ust_session_reg; struct buffer_reg_channel *reg_chan; struct consumer_socket *socket; @@ -3990,7 +3991,14 @@ int ust_app_stop_trace_all(struct ltt_ust_session *usess) */ (void) consumer_flush_channel(socket, reg_chan->consumer_key); } + + ust_session_reg = reg->registry->reg.ust; + if (!ust_session_reg->metadata_closed) { + /* Push metadata. */ + (void) push_metadata(ust_session_reg, usess->consumer); + } } + break; } case LTTNG_BUFFER_PER_PID: @@ -4932,7 +4940,7 @@ int ust_app_snapshot_record(struct ltt_ust_session *usess, reg_chan->subbuf_size > max_stream_size) { ret = -EINVAL; DBG3("UST app snapshot record maximum stream size %" PRIu64 - " is smaller than subbuffer size of %" PRIu64, + " is smaller than subbuffer size of %zu", max_stream_size, reg_chan->subbuf_size); goto error; }