X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fconnection.c;h=2376a3f29c973c45b3671e0eea413f06cea24deb;hp=4dc41e0e4fe8fe7e693257cb5b00c8748ee61ab3;hb=6c1c0768320135c6936c371b09731851b508c023;hpb=58eb9381cd933f0644e6a5b89750dbd6d9b14570 diff --git a/src/bin/lttng-relayd/connection.c b/src/bin/lttng-relayd/connection.c index 4dc41e0e4..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,7 +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); + connection_free(conn); } struct relay_connection *connection_find_by_sock(struct lttng_ht *ht, int sock) @@ -67,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); } @@ -107,5 +100,6 @@ void connection_free(struct relay_connection *conn) { assert(conn); + free(conn->viewer_session); free(conn); }