X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fnotification-thread-internal.hpp;h=1cab09d9707347530d34c1b5bbb5e87f46aec1b4;hb=a3c9aa3ccf6bf710701074ffa97f2b7a59b0fc16;hp=497484ba04534586263072b4f629c62bb2b124b8;hpb=c9e313bc594f40a86eed237dce222c0fc99c957f;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/notification-thread-internal.hpp b/src/bin/lttng-sessiond/notification-thread-internal.hpp index 497484ba0..1cab09d97 100644 --- a/src/bin/lttng-sessiond/notification-thread-internal.hpp +++ b/src/bin/lttng-sessiond/notification-thread-internal.hpp @@ -28,8 +28,21 @@ struct channel_key { enum lttng_domain_type domain; }; +struct session_state_sample { + 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; + /* Location of last completed rotation. */ + struct lttng_trace_archive_location *location; + } rotation; +}; + struct session_info { struct lttng_ref ref; + uint64_t id; char *name; uid_t uid; gid_t gid; @@ -47,13 +60,8 @@ struct session_info { * 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; + /* Session's state as of the latest update. */ + struct session_state_sample last_state_sample; /* call_rcu delayed reclaim. */ struct rcu_head rcu_node; }; @@ -165,6 +173,7 @@ struct notification_client { * clean-up. */ bool active; + int current_poll_events; struct { /* * During the reception of a message, the reception