X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fstream.cpp;h=fbecdc55804acdc151732a17188b13fa1b969186;hb=1524f98c04431d04e50796f83a9dd29184b3a8a4;hp=b57c061c571b41fea32997d5c778eabee233764c;hpb=7586404633a22e219a7ffd7a0f2624b5bc56e37b;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/stream.cpp b/src/bin/lttng-relayd/stream.cpp index b57c061c5..fbecdc558 100644 --- a/src/bin/lttng-relayd/stream.cpp +++ b/src/bin/lttng-relayd/stream.cpp @@ -10,18 +10,18 @@ #define _LGPL_SOURCE #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include -#include "lttng-relayd.h" -#include "index.h" -#include "stream.h" -#include "viewer-stream.h" +#include "lttng-relayd.hpp" +#include "index.hpp" +#include "stream.hpp" +#include "viewer-stream.hpp" #include #include @@ -31,6 +31,8 @@ /* Should be called with RCU read-side lock held. */ bool stream_get(struct relay_stream *stream) { + ASSERT_RCU_READ_LOCKED(); + return urcu_ref_get_unless_zero(&stream->ref); } @@ -52,7 +54,7 @@ struct relay_stream *stream_get_by_id(uint64_t stream_id) DBG("Relay stream %" PRIu64 " not found", stream_id); goto end; } - stream = caa_container_of(node, struct relay_stream, node); + stream = lttng::utils::container_of(node, &relay_stream::node); if (!stream_get(stream)) { stream = NULL; } @@ -578,7 +580,7 @@ struct relay_stream *stream_create(struct ctf_trace *trace, bool acquired_reference = false; struct lttng_trace_chunk *current_trace_chunk; - stream = (relay_stream *) zmalloc(sizeof(struct relay_stream)); + stream = zmalloc(); if (stream == NULL) { PERROR("relay stream zmalloc"); goto error_no_alloc; @@ -758,7 +760,7 @@ static void stream_destroy(struct relay_stream *stream) static void stream_destroy_rcu(struct rcu_head *rcu_head) { struct relay_stream *stream = - caa_container_of(rcu_head, struct relay_stream, rcu_node); + lttng::utils::container_of(rcu_head, &relay_stream::rcu_node); stream_destroy(stream); } @@ -770,7 +772,7 @@ static void stream_destroy_rcu(struct rcu_head *rcu_head) static void stream_release(struct urcu_ref *ref) { struct relay_stream *stream = - caa_container_of(ref, struct relay_stream, ref); + lttng::utils::container_of(ref, &relay_stream::ref); struct relay_session *session; session = stream->trace->session;