X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=src%2Fbin%2Flttng-relayd%2Fconnection.cpp;h=668a61e7a1a6b3674191a54964569bc6eba52982;hb=dcd24bbf7dbc74e3584d1d0d52715e749023c452;hp=f8b364272e0374b0f43773de7903275d51d13cc2;hpb=28ab034a2c3582d07d3423d2d746731f87d3969f;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/connection.cpp b/src/bin/lttng-relayd/connection.cpp index f8b364272..668a61e7a 100644 --- a/src/bin/lttng-relayd/connection.cpp +++ b/src/bin/lttng-relayd/connection.cpp @@ -13,6 +13,7 @@ #include "viewer-session.hpp" #include +#include #include @@ -25,11 +26,11 @@ struct relay_connection *connection_get_by_sock(struct lttng_ht *relay_connectio { struct lttng_ht_node_ulong *node; struct lttng_ht_iter iter; - struct relay_connection *conn = NULL; + struct relay_connection *conn = nullptr; LTTNG_ASSERT(sock >= 0); - rcu_read_lock(); + lttng::urcu::read_lock_guard read_lock; lttng_ht_lookup(relay_connections_ht, (void *) ((unsigned long) sock), &iter); node = lttng_ht_iter_get_node_ulong(&iter); if (!node) { @@ -38,10 +39,9 @@ struct relay_connection *connection_get_by_sock(struct lttng_ht *relay_connectio } conn = lttng::utils::container_of(node, &relay_connection::sock_n); if (!connection_get(conn)) { - conn = NULL; + conn = nullptr; } end: - rcu_read_unlock(); return conn; } @@ -110,7 +110,7 @@ static void rcu_free_connection(struct rcu_head *head) lttcomm_destroy_sock(conn->sock); if (conn->viewer_session) { viewer_session_destroy(conn->viewer_session); - conn->viewer_session = NULL; + conn->viewer_session = nullptr; } if (conn->type == RELAY_CONTROL) { lttng_dynamic_buffer_reset(&conn->protocol.ctrl.reception_buffer); @@ -140,7 +140,7 @@ static void connection_release(struct urcu_ref *ref) if (session_close(conn->session)) { ERR("session_close"); } - conn->session = NULL; + conn->session = nullptr; } if (conn->viewer_session) { viewer_session_close(conn->viewer_session); @@ -150,16 +150,15 @@ static void connection_release(struct urcu_ref *ref) void connection_put(struct relay_connection *conn) { - rcu_read_lock(); + lttng::urcu::read_lock_guard read_lock; urcu_ref_put(&conn->ref, connection_release); - rcu_read_unlock(); } void connection_ht_add(struct lttng_ht *relay_connections_ht, struct relay_connection *conn) { LTTNG_ASSERT(!conn->in_socket_ht); lttng_ht_add_unique_ulong(relay_connections_ht, &conn->sock_n); - conn->in_socket_ht = 1; + conn->in_socket_ht = true; conn->socket_ht = relay_connections_ht; }