Fix: UST app session teardown process
[lttng-tools.git] / src / bin / lttng-sessiond / ust-app.h
index 72adf50aa42d50970511ebbae357f5bc8778c492..5447b7fe6d7cd13f840f12a68fe1585bc6e61159 100644 (file)
@@ -107,6 +107,7 @@ struct ust_app_session {
        /* UID/GID of the user owning the session */
        uid_t uid;
        gid_t gid;
+       struct cds_list_head teardown_node;
 };
 
 /*
@@ -130,6 +131,16 @@ struct ust_app {
        struct lttng_ht *sessions;
        struct lttng_ht_node_ulong pid_n;
        struct lttng_ht_node_ulong sock_n;
+       /*
+        * This is a list of ust app session that, once the app is going into
+        * teardown mode, in the RCU call, each node in this list is removed and
+        * deleted.
+        *
+        * Element of the list are added when an application unregisters after each
+        * ht_del of ust_app_session associated to this app. This list is NOT used
+        * when a session is destroyed.
+        */
+       struct cds_list_head teardown_head;
 };
 
 #ifdef HAVE_LIBLTTNG_UST_CTL
@@ -174,9 +185,6 @@ int ust_app_disable_event_glb(struct ltt_ust_session *usess,
                struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent);
 int ust_app_add_ctx_channel_glb(struct ltt_ust_session *usess,
                struct ltt_ust_channel *uchan, struct ltt_ust_context *uctx);
-int ust_app_set_filter_event_glb(struct ltt_ust_session *usess,
-                struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent,
-               struct lttng_filter_bytecode *bytecode);
 void ust_app_global_update(struct ltt_ust_session *usess, int sock);
 
 void ust_app_clean_list(void);
@@ -348,13 +356,6 @@ int ust_app_calibrate_glb(struct lttng_ust_calibrate *calibrate)
 {
        return 0;
 }
-static inline
-int ust_app_set_filter_event_glb(struct ltt_ust_session *usess,
-               struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent,
-               struct lttng_filter_bytecode *bytecode)
-{
-       return 0;
-}
 
 #endif /* HAVE_LIBLTTNG_UST_CTL */
 
This page took 0.02505 seconds and 4 git commands to generate.