From 797bc362b6845f7e8f50922f53fc4683c573fc55 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 2 May 2017 10:37:28 -0400 Subject: [PATCH] Fix: lttng-live: send HUP reply when per-PID streams are gone MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Currently, the "HUP" reply (hung up) is only sent when a session destroy is performed and all data has been sent. However, with per-pid buffers, application can come and go during the tracing session, so we need to send the HUP reply for each individual stream that is gone. Signed-off-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau --- src/bin/lttng-relayd/live.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/lttng-relayd/live.c b/src/bin/lttng-relayd/live.c index 9e1085f33..61acafec2 100644 --- a/src/bin/lttng-relayd/live.c +++ b/src/bin/lttng-relayd/live.c @@ -1174,10 +1174,13 @@ static int check_index_status(struct relay_viewer_stream *vstream, { int ret; - if (trace->session->connection_closed + if ((trace->session->connection_closed || rstream->closed) && rstream->index_received_seqcount == vstream->index_sent_seqcount) { - /* Last index sent and session connection is closed. */ + /* + * Last index sent and session connection or relay + * stream are closed. + */ index->status = htobe32(LTTNG_VIEWER_INDEX_HUP); goto hup; } else if (rstream->beacon_ts_end != -1ULL && -- 2.34.1