Fix: relayd: viewer session trace chunk not released on detach
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 14 Nov 2019 22:12:08 +0000 (17:12 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 14 Nov 2019 22:12:08 +0000 (17:12 -0500)
The 'attach' command on a viewer session expects (asserts) the trace
chunk of the viewer session to be NULL. This is reasonable as there is
no reason to hold a reference to a trace chunk while no clients are
attached.

Release the reference to the trace chunk on detach. The relay
session's trace chunk will be re-sampled (copied) when the next client
attaches to the viewer session.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-relayd/viewer-session.c

index 7a5bd6dca991e55d643477c58f763dbfc3e765be..20f3d0e43fc398f81628be8029986c179f988ac3 100644 (file)
@@ -178,7 +178,8 @@ void viewer_session_close_one_session(struct relay_viewer_session *vsession,
                 */
                viewer_stream_put(vstream);
        }
-
+       lttng_trace_chunk_put(vsession->current_trace_chunk);
+       vsession->current_trace_chunk = NULL;
        viewer_session_detach(vsession, session);
 }
 
This page took 0.031427 seconds and 4 git commands to generate.