X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fconnection.c;h=2376a3f29c973c45b3671e0eea413f06cea24deb;hp=28d0cb311e3541fa552d1b224edb9c1acf3acf01;hb=6c1c0768320135c6936c371b09731851b508c023;hpb=6763619c3f295a1502e77ca9563d7a21d68b25c7 diff --git a/src/bin/lttng-relayd/connection.c b/src/bin/lttng-relayd/connection.c index 28d0cb311..2376a3f29 100644 --- a/src/bin/lttng-relayd/connection.c +++ b/src/bin/lttng-relayd/connection.c @@ -17,6 +17,7 @@ */ #define _GNU_SOURCE +#define _LGPL_SOURCE #include #include "connection.h" @@ -28,8 +29,7 @@ static void rcu_free_connection(struct rcu_head *head) caa_container_of(head, struct relay_connection, rcu_node); lttcomm_destroy_sock(conn->sock); - free(conn->viewer_session); - free(conn); + connection_free(conn); } struct relay_connection *connection_find_by_sock(struct lttng_ht *ht, int sock) @@ -68,16 +68,8 @@ void connection_delete(struct lttng_ht *ht, struct relay_connection *conn) void connection_destroy(struct relay_connection *conn) { - struct relay_stream *stream, *tmp_stream; - assert(conn); - /* Clean up recv list of this connection if any. */ - cds_list_for_each_entry_safe(stream, tmp_stream, &conn->recv_head, - recv_list) { - cds_list_del(&stream->recv_list); - } - call_rcu(&conn->rcu_node, rcu_free_connection); } @@ -108,5 +100,6 @@ void connection_free(struct relay_connection *conn) { assert(conn); + free(conn->viewer_session); free(conn); }