From: Mathieu Desnoyers Date: Tue, 2 May 2017 14:37:28 +0000 (-0400) Subject: Fix: lttng-live: send HUP reply when per-PID streams are gone X-Git-Tag: v2.10.0-rc1~9 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=797bc362b6845f7e8f50922f53fc4683c573fc55;ds=sidebyside Fix: lttng-live: send HUP reply when per-PID streams are gone 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 --- 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 &&