Fix: lttng-live: send HUP reply when per-PID streams are gone
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 2 May 2017 14:37:28 +0000 (10:37 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 5 May 2017 18:23:54 +0000 (14:23 -0400)
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 <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-relayd/live.c

index 9e1085f33615018237a4acd2abd434c2362c265b..61acafec2098ecd70a5b1889309992e858a0e3cb 100644 (file)
@@ -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 &&
This page took 0.025626 seconds and 4 git commands to generate.