Build a list of triggers applying to a given session on creation
[lttng-tools.git] / src / bin / lttng-sessiond / notification-thread.c
index a8acd6f2482d5646d32a9e05fdab2e2abbe6bf38..4ce38e180e106986ae630a0c85483e93568405a3 100644 (file)
@@ -359,6 +359,14 @@ void fini_thread_state(struct notification_thread_state *state)
                ret = cds_lfht_destroy(state->sessions_ht, NULL);
                assert(!ret);
        }
+       /*
+        * Must be destroyed after all channels have been destroyed.
+        * See comment in struct lttng_session_trigger_list.
+        */
+       if (state->session_triggers_ht) {
+               ret = cds_lfht_destroy(state->session_triggers_ht, NULL);
+               assert(!ret);
+       }
        if (state->notification_channel_socket >= 0) {
                notification_channel_socket_destroy(
                                state->notification_channel_socket);
@@ -407,6 +415,12 @@ int init_thread_state(struct notification_thread_handle *handle,
                goto error;
        }
 
+       state->session_triggers_ht = cds_lfht_new(DEFAULT_HT_SIZE, 1, 0,
+                       CDS_LFHT_AUTO_RESIZE | CDS_LFHT_ACCOUNTING, NULL);
+       if (!state->session_triggers_ht) {
+               goto error;
+       }
+
        state->channel_state_ht = cds_lfht_new(DEFAULT_HT_SIZE, 1, 0,
                        CDS_LFHT_AUTO_RESIZE | CDS_LFHT_ACCOUNTING, NULL);
        if (!state->channel_state_ht) {
This page took 0.024889 seconds and 5 git commands to generate.