Fix: don't delete stream from connection recv list
[lttng-tools.git] / src / bin / lttng-relayd / connection.c
index 28d0cb311e3541fa552d1b224edb9c1acf3acf01..4cf87ad3471d87e21fb31943ec082cc00b597196 100644 (file)
@@ -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);
 }
This page took 0.025003 seconds and 4 git commands to generate.