X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftracker.cpp;h=10f8dd59811a4e99f51d6c5fba025e347c4d7df8;hb=042670db60ac672661e1bbc8de4da1d8590e20b4;hp=1cae40350cbcd8c6466ce628fa6a00944539491c;hpb=7966af5763c4aaca39df9bbfa9277ff15715c720;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/tracker.cpp b/src/bin/lttng-sessiond/tracker.cpp index 1cae40350..10f8dd598 100644 --- a/src/bin/lttng-sessiond/tracker.cpp +++ b/src/bin/lttng-sessiond/tracker.cpp @@ -7,8 +7,8 @@ */ #include "lttng/tracker.h" -#include "common/dynamic-array.h" -#include "common/macros.h" +#include "common/dynamic-array.hpp" +#include "common/macros.hpp" #define _LGPL_SOURCE #include #include @@ -18,29 +18,31 @@ #include #include -#include "tracker.h" -#include -#include -#include -#include -#include +#include "tracker.hpp" +#include +#include +#include +#include +#include #include +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); } @@ -49,7 +51,7 @@ struct process_attr_tracker *process_attr_tracker_create(void) { struct process_attr_tracker *tracker; - tracker = (process_attr_tracker *) zmalloc(sizeof(*tracker)); + tracker = zmalloc(); if (!tracker) { return NULL; } @@ -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. */ @@ -201,7 +203,7 @@ enum process_attr_tracker_status process_attr_tracker_inclusion_set_add_value( goto end; } - value_node = (process_attr_tracker_value_node *) zmalloc(sizeof(*value_node)); + value_node = zmalloc(); if (!value_node) { status = PROCESS_ATTR_TRACKER_STATUS_ERROR; goto end;