Fix: sessiond: size-based rotation threshold exceeded in per-pid tracing (1/2)
[lttng-tools.git] / src / bin / lttng-sessiond / tracker.cpp
index 7d587280645b0ebe72381075038994a15f17d605..10f8dd59811a4e99f51d6c5fba025e347c4d7df8 100644 (file)
 #include <common/tracker.hpp>
 #include <lttng/lttng-error.h>
 
+struct process_attr_tracker {
+       enum lttng_tracking_policy policy;
+       struct cds_lfht *inclusion_set_ht;
+};
+
+namespace {
 struct process_attr_tracker_value_node {
        struct process_attr_value *value;
        struct cds_lfht_node inclusion_set_ht_node;
        struct rcu_head rcu_head;
 };
-
-struct process_attr_tracker {
-       enum lttng_tracking_policy policy;
-       struct cds_lfht *inclusion_set_ht;
-};
+} /* namespace */
 
 static void process_attr_tracker_value_node_rcu_free(struct rcu_head *rcu_head)
 {
-       struct process_attr_tracker_value_node *node =
-                       container_of(rcu_head, typeof(*node), rcu_head);
+       struct process_attr_tracker_value_node *node = lttng::utils::container_of(
+                       rcu_head, &process_attr_tracker_value_node::rcu_head);
 
        free(node);
 }
@@ -175,9 +177,9 @@ static struct process_attr_tracker_value_node *process_attr_tracker_lookup(
        node = cds_lfht_iter_get_node(&iter);
        rcu_read_unlock();
 
-       return node ? container_of(node, struct process_attr_tracker_value_node,
-                                     inclusion_set_ht_node) :
-                     NULL;
+       return node ? lttng::utils::container_of(node,
+                                     &process_attr_tracker_value_node::inclusion_set_ht_node) :
+                           NULL;
 }
 
 /* Protected by session mutex held by caller. */
This page took 0.023924 seconds and 4 git commands to generate.