X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fnotification-thread-internal.h;h=e217995f56635c13efffb70f3f5b8eea9f7ecd18;hp=8149e2c2116a1ab0dd4cfc4581809c468872cdfa;hb=83b934ad2222dc44bb58fee7157e63b29c300a13;hpb=8abe313a6c4f251063e4b72ddd47ce8107384d71 diff --git a/src/bin/lttng-sessiond/notification-thread-internal.h b/src/bin/lttng-sessiond/notification-thread-internal.h index 8149e2c21..e217995f5 100644 --- a/src/bin/lttng-sessiond/notification-thread-internal.h +++ b/src/bin/lttng-sessiond/notification-thread-internal.h @@ -33,13 +33,28 @@ struct session_info { uid_t uid; gid_t gid; /* - * Back-ref (weak) to all channels in this session. + * Hashtable containing back-refs (weak) to all channels in this session. * The hashtable's key is a hash of (struct channel_key) and * the value is of type (struct channel_info *). */ struct cds_lfht *channel_infos_ht; + struct lttng_session_trigger_list *trigger_list; /* Node in the notification thread state's sessions_ht. */ struct cds_lfht_node sessions_ht_node; + /* + * Weak reference to the thread state's sessions_ht. Used for removal on + * destruction. + */ + struct cds_lfht *sessions_ht; + uint64_t consumed_data_size; + struct { + /* Whether a rotation is ongoing for this session. */ + bool ongoing; + /* Identifier of the currently ongoing rotation. */ + uint64_t id; + } rotation; + /* call_rcu delayed reclaim. */ + struct rcu_head rcu_node; }; struct channel_info { @@ -55,6 +70,8 @@ struct channel_info { struct cds_lfht_node channels_ht_node; /* Node in the session_info's channels_ht. */ struct cds_lfht_node session_info_channels_ht_node; + /* call_rcu delayed reclaim. */ + struct rcu_head rcu_node; }; #endif /* NOTIFICATION_THREAD_INTERNAL_H */