From b0a5f0fbc428de5cd15a5c86f95a12f32e8c3c88 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Fri, 19 Jul 2013 08:59:12 -0400 Subject: [PATCH] Fix: push metadata on stop for per-UID buffers Signed-off-by: Mathieu Desnoyers --- src/bin/lttng-sessiond/ust-app.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/bin/lttng-sessiond/ust-app.c b/src/bin/lttng-sessiond/ust-app.c index 830b5eafe..7e263a763 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: -- 2.34.1