Introduce sync vs unsync enablers
[lttng-ust.git] / src / common / events.h
index 338573a9947373bbce5ef07b7d0ff4e639155273..0c2d3136014bcb7af0a0d11186a3ada16658ca07 100644 (file)
 #include "common/macros.h"
 #include "common/ust-context-provider.h"
 
+/*
+ * The context procname length is part of the LTTng-UST ABI.
+ * TODO: At the next breaking protocol bump, all users of this macro
+ * should instead use LTTNG_UST_ABI_PROCNAME_LEN.
+ */
+#define LTTNG_UST_CONTEXT_PROCNAME_LEN 17
+
 struct lttng_ust_abi_obj;
 struct lttng_event_notifier_group;
 
@@ -240,7 +247,12 @@ struct lttng_event_notifier_group {
        void *owner;
        int notification_fd;
        struct cds_list_head node;              /* Event notifier group handle list */
-       struct cds_list_head enablers_head;
+
+       /* List of non-synchronized enablers */
+       struct cds_list_head unsync_enablers_head;
+       /* List of synchronized enablers */
+       struct cds_list_head sync_enablers_head;
+
        struct cds_list_head event_notifiers_head; /* list of event_notifiers */
        struct lttng_ust_event_notifier_ht event_notifiers_ht; /* hashtable of event_notifiers */
        struct lttng_ust_ctx *ctx;              /* contexts for filters. */
@@ -324,8 +336,11 @@ struct lttng_ust_session_private {
        struct cds_list_head events_head;       /* list of events */
        struct cds_list_head node;              /* Session list */
 
-       /* List of enablers */
-       struct cds_list_head enablers_head;
+       /* List of non-synchronized enablers */
+       struct cds_list_head unsync_enablers_head;
+       /* List of synchronized enablers */
+       struct cds_list_head sync_enablers_head;
+
        struct lttng_ust_event_ht events_ht;    /* ht of events */
        void *owner;                            /* object owner */
        int tstate:1;                           /* Transient enable state */
This page took 0.025122 seconds and 4 git commands to generate.