Fix: handle enablers without bytecode
[lttng-ust.git] / liblttng-ust / lttng-events.c
index 95082ceda6fadd21827db61cde7f56945c3dcdcf..790d14b2495992d893e9d63f15ca8e65a3f6738a 100644 (file)
@@ -1379,7 +1379,7 @@ void lttng_session_sync_enablers(struct lttng_session *session)
        cds_list_for_each_entry(event, &session->events_head, node) {
                struct lttng_enabler_ref *enabler_ref;
                struct lttng_bytecode_runtime *runtime;
-               int enabled = 0;
+               int enabled = 0, has_enablers_without_bytecode = 0;
 
                /* Enable events */
                cds_list_for_each_entry(enabler_ref,
@@ -1391,6 +1391,17 @@ void lttng_session_sync_enablers(struct lttng_session *session)
                }
                event->enabled = enabled;
 
+               /* Check if has enablers without bytecode */
+               cds_list_for_each_entry(enabler_ref,
+                               &event->enablers_ref_head, node) {
+                       if (cds_list_empty(&enabler_ref->ref->filter_bytecode_head)) {
+                               has_enablers_without_bytecode = 1;
+                               break;
+                       }
+               }
+               event->has_enablers_without_bytecode =
+                       has_enablers_without_bytecode;
+
                /* Enable filters */
                cds_list_for_each_entry(runtime,
                                &event->bytecode_runtime_head, node) {
This page took 0.02381 seconds and 4 git commands to generate.