X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fbin%2Flttng-sessiond%2Fsession.h;h=606c42269b4f9b4d4576536c8b113d2493d5fa1e;hb=a7ceb342d473cc37e00d74c45b04b5378965e055;hp=a60354d756ca45f0c5885dfdf53c7e473a0bc0b6;hpb=b02f5986773579a5a331d3e108ba52ec9acde2e1;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/session.h b/src/bin/lttng-sessiond/session.h index a60354d75..606c42269 100644 --- a/src/bin/lttng-sessiond/session.h +++ b/src/bin/lttng-sessiond/session.h @@ -36,6 +36,8 @@ struct ltt_ust_session; typedef void (*ltt_session_destroy_notifier)(const struct ltt_session *session, void *user_data); +typedef void (*ltt_session_clear_notifier)(const struct ltt_session *session, + void *user_data); /* * Tracing session list @@ -179,6 +181,10 @@ struct ltt_session { * subsequent rotate (without prior start) will return an error. */ bool cleared_after_last_stop; + /* + * True if the session has had an explicit non-quiet rotation. + */ + bool rotated; /* * Condition and trigger for size-based rotations. */ @@ -193,6 +199,7 @@ struct ltt_session { char *last_archived_chunk_name; LTTNG_OPTIONAL(uint64_t) last_archived_chunk_id; struct lttng_dynamic_array destroy_notifiers; + struct lttng_dynamic_array clear_notifiers; /* Session base path override. Set non-null. */ char *base_path; }; @@ -210,6 +217,10 @@ void session_destroy(struct ltt_session *session); int session_add_destroy_notifier(struct ltt_session *session, ltt_session_destroy_notifier notifier, void *user_data); +int session_add_clear_notifier(struct ltt_session *session, + ltt_session_clear_notifier notifier, void *user_data); +void session_notify_clear(struct ltt_session *session); + bool session_get(struct ltt_session *session); void session_put(struct ltt_session *session);