+/*
+ * The notification thread holds no ownership of the tracer event source pipe
+ * file descriptor. The tracer management logic must remove the event source
+ * from the notification thread (see external commands) before releasing
+ * this file descriptor.
+ */
+struct notification_event_tracer_event_source_element {
+ int fd;
+ /*
+ * A tracer event source can be removed from the notification thread's
+ * poll set before the end of its lifetime (for instance, when an error
+ * or hang-up is detected on its file descriptor). This is done to
+ * allow the notification thread to ignore follow-up events on this
+ * file descriptors.
+ *
+ * Under such circumstances, the notification thread still expects
+ * the normal clean-up to occur through the 'REMOVE_TRACER_EVENT_SOURCE'
+ * command.
+ */
+ bool is_fd_in_poll_set;
+ enum lttng_domain_type domain;
+ struct cds_list_head node;
+};
+
+struct notification_trigger_tokens_ht_element {
+ uint64_t token;
+ /* Weak reference to the trigger. */
+ struct lttng_trigger *trigger;
+ struct cds_lfht_node node;
+ /* call_rcu delayed reclaim. */
+ struct rcu_head rcu_node;
+};
+