Fix: evaluate trigger condition on registration
[lttng-tools.git] / src / bin / lttng-sessiond / notification-thread.h
index a9c771104d48118a1a61ce65008f8df9b76c3439..e59f74f62c46276d4b5b1f89ea75cef7565315e8 100644 (file)
 struct notification_thread_handle {
        /*
         * Queue of struct notification command.
-        * event_fd must be WRITE(2) to signal that a new command
+        * event_pipe must be WRITE(2) to signal that a new command
         * has been enqueued.
         */
        struct {
-               int event_fd;
+               struct lttng_pipe *event_pipe;
                struct cds_list_head list;
                pthread_mutex_t lock;
        } cmd_queue;
@@ -127,6 +127,8 @@ struct notification_thread_handle {
  *          notification_trigger_clients_ht,
  *    - add trigger to channel_triggers_ht (if applicable),
  *    - add trigger to triggers_ht
+ *    - evaluate the trigger's condition right away to react if that condition
+ *      is true from the beginning.
  *
  * 4) Unregistration of a trigger
  *    - if the trigger's action is of type "notify",
@@ -153,6 +155,8 @@ struct notification_thread_handle {
  *    - Add the condition to the client's list of subscribed conditions,
  *    - Look-up notification_trigger_clients_ht and add the client to
  *      list of clients.
+ *    - Evaluate the condition for the client that subscribed if the trigger
+ *      was already registered.
  *
  * 9) Unsubscription of a client to a condition's notifications
  *    - Remove the condition from the client's list of subscribed conditions,
This page took 0.024855 seconds and 5 git commands to generate.