From d2fd3485a1606e16b5d1672526fb06cc23f1d13d Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 11 Jun 2019 23:44:56 +0200 Subject: [PATCH] Fix: do not set quiescent state on channel destroy Setting the quiescent state to true for each stream at channel destruction is not useful: there are no readers left anyway at that stage. The side-effect perceived of setting this quiescent state on destroy is that the metadata stream ends up with an empty last packet (due to flush_empty performed when setting the quiescent state) which is never consumed. This shows up in the lttng-modules error reporting. Signed-off-by: Mathieu Desnoyers --- lib/ringbuffer/ring_buffer_frontend.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/ringbuffer/ring_buffer_frontend.c b/lib/ringbuffer/ring_buffer_frontend.c index 60725f18..36be1e35 100644 --- a/lib/ringbuffer/ring_buffer_frontend.c +++ b/lib/ringbuffer/ring_buffer_frontend.c @@ -992,8 +992,6 @@ void *channel_destroy(struct channel *chan) config->cb.buffer_finalize(buf, chan->backend.priv, cpu); - if (buf->backend.allocated) - lib_ring_buffer_set_quiescent(buf); /* * Perform flush before writing to finalized. */ @@ -1006,8 +1004,6 @@ void *channel_destroy(struct channel *chan) if (config->cb.buffer_finalize) config->cb.buffer_finalize(buf, chan->backend.priv, -1); - if (buf->backend.allocated) - lib_ring_buffer_set_quiescent(buf); /* * Perform flush before writing to finalized. */ -- 2.34.1