X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fconnection.h;h=70fe4ba3da19c9a5f534911ac70b95abe610cd76;hb=8bdee6e2bac74a577147046126628ff3b1b34930;hp=931169ec0616d348e5198a46d2b22b24b2eb9867;hpb=c3b7390bf0fe3bcb1d5364acddcbe0fd107303d3;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/connection.h b/src/bin/lttng-relayd/connection.h index 931169ec0..70fe4ba3d 100644 --- a/src/bin/lttng-relayd/connection.h +++ b/src/bin/lttng-relayd/connection.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -45,7 +46,7 @@ struct relay_connection { struct lttcomm_sock *sock; struct relay_session *session; struct relay_viewer_session *viewer_session; - struct cds_wfq_node qnode; + struct cds_wfcq_node qnode; struct lttng_ht_node_ulong sock_n; struct rcu_head rcu_node; enum connection_type type; @@ -53,6 +54,13 @@ struct relay_connection { uint32_t major; uint32_t minor; uint64_t session_id; + + /* + * This contains streams that are received on that connection. It's used to + * store them until we get the streams sent command where they are removed + * and flagged ready for the viewer. This is ONLY used by the control + * thread thus any action on it should happen in that thread. + */ struct cds_list_head recv_head; unsigned int version_check_done:1;