+
+ /*
+ * Is the trigger registered?
+ *
+ * This is necessary since a reference holder might be interested in the
+ * overall state of the trigger from the point of view of its owner.
+ *
+ * The main user is the action executor since we want to prevent the
+ * execution of actions related to a trigger that is unregistered.
+ *
+ * Not considered for `is_equal`.
+ */
+ bool registered;
+
+ /*
+ * The lock is used to protect against concurrent trigger execution and
+ * trigger removal.
+ */
+ pthread_mutex_t lock;