relayd: viewer-stream.cpp: iterate on lfht using lfht_iteration_adapter
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 26 Jul 2024 19:17:26 +0000 (19:17 +0000)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 30 Jul 2024 01:26:51 +0000 (01:26 +0000)
Change-Id: Idd3de68df6d9a81b3b04d8bc36a24aad14333916
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-relayd/viewer-stream.cpp

index e3061ec874e4337ecc4420ec73283efefd71bce5..06657174371cf9ac0d1c9dd1a5f333b979a7419d 100644 (file)
@@ -369,29 +369,25 @@ end:
 
 void print_viewer_streams()
 {
-       struct lttng_ht_iter iter;
-       struct relay_viewer_stream *vstream;
-
        if (!viewer_streams_ht) {
                return;
        }
 
-       {
-               const lttng::urcu::read_lock_guard read_lock;
-
-               cds_lfht_for_each_entry (
-                       viewer_streams_ht->ht, &iter.iter, vstream, stream_n.node) {
-                       if (!viewer_stream_get(vstream)) {
-                               continue;
-                       }
-                       DBG("vstream %p refcount %ld stream %" PRIu64 " trace %" PRIu64
-                           " session %" PRIu64,
-                           vstream,
-                           vstream->ref.refcount,
-                           vstream->stream->stream_handle,
-                           vstream->stream->trace->id,
-                           vstream->stream->trace->session->id);
-                       viewer_stream_put(vstream);
+       for (auto *vstream :
+            lttng::urcu::lfht_iteration_adapter<relay_viewer_stream,
+                                                decltype(relay_viewer_stream::stream_n),
+                                                &relay_viewer_stream::stream_n>(
+                    *viewer_streams_ht->ht)) {
+               if (!viewer_stream_get(vstream)) {
+                       continue;
                }
+
+               DBG("vstream %p refcount %ld stream %" PRIu64 " trace %" PRIu64 " session %" PRIu64,
+                   vstream,
+                   vstream->ref.refcount,
+                   vstream->stream->stream_handle,
+                   vstream->stream->trace->id,
+                   vstream->stream->trace->session->id);
+               viewer_stream_put(vstream);
        }
 }
This page took 0.026153 seconds and 4 git commands to generate.