From 8f141dbdf7c4628c13d7b099240a7bd4bcacf2cf Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Wed, 19 Jan 2022 14:35:25 -0500 Subject: [PATCH 1/1] Docs: relayd: live: clarify ownership of vstream after viewer release MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérémie Galarneau Change-Id: I2b0a838bb72bec1ec693ee0c722b748105d7280c --- src/bin/lttng-relayd/live.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; -- 2.34.1