X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fconnection.c;h=4cf87ad3471d87e21fb31943ec082cc00b597196;hb=f263b7fd113e51d0737554e8232b8669e142a260;hp=28d0cb311e3541fa552d1b224edb9c1acf3acf01;hpb=6763619c3f295a1502e77ca9563d7a21d68b25c7;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/connection.c b/src/bin/lttng-relayd/connection.c index 28d0cb311..4cf87ad34 100644 --- a/src/bin/lttng-relayd/connection.c +++ b/src/bin/lttng-relayd/connection.c @@ -28,8 +28,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 +67,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 +99,6 @@ void connection_free(struct relay_connection *conn) { assert(conn); + free(conn->viewer_session); free(conn); }