X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftracker.cpp;h=10f8dd59811a4e99f51d6c5fba025e347c4d7df8;hb=a3c9aa3ccf6bf710701074ffa97f2b7a59b0fc16;hp=204ade426316b288afd6e59d1ceade61f82a706f;hpb=c9e313bc594f40a86eed237dce222c0fc99c957f;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/tracker.cpp b/src/bin/lttng-sessiond/tracker.cpp index 204ade426..10f8dd598 100644 --- a/src/bin/lttng-sessiond/tracker.cpp +++ b/src/bin/lttng-sessiond/tracker.cpp @@ -26,21 +26,23 @@ #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;