X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Flive.cpp;h=d963a69b4c1870d901f5fa6fb9b2ba58efa8a811;hp=e3d27b1ef8411a1a6efc837ffa10051d6108155f;hb=8f141dbdf7c4628c13d7b099240a7bd4bcacf2cf;hpb=21cf9b6b1843774306a76f4dccddddd706b64f79 diff --git a/src/bin/lttng-relayd/live.cpp b/src/bin/lttng-relayd/live.cpp index e3d27b1ef..d963a69b4 100644 --- a/src/bin/lttng-relayd/live.cpp +++ b/src/bin/lttng-relayd/live.cpp @@ -2093,9 +2093,16 @@ int viewer_get_metadata(struct relay_connection *conn) */ if (vstream->metadata_sent > 0) { if (vstream->stream->closed && vstream->stream->no_new_metadata_notified) { - /* Release ownership for the viewer metadata stream. */ + /* + * Release ownership for the viewer metadata + * stream. Note that this reference is the + * viewer's reference. The vstream still exists + * until the end of the function as + * viewer_stream_get_by_id() took a reference. + */ viewer_stream_put(vstream); } + vstream->stream->no_new_metadata_notified = true; } goto send_reply;