X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fevent-notifier-error-accounting.cpp;h=85327c2167b648d38541dcb282cdf2ca613f7908;hb=5728ab7df45a2e4b84a709ad2e87712213ab21a9;hp=d42f5802d4c677238ece78c7314fc110cf7e4e9b;hpb=64803277bbdbe0a943360d918298a48157d9da55;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/event-notifier-error-accounting.cpp b/src/bin/lttng-sessiond/event-notifier-error-accounting.cpp index d42f5802d..85327c216 100644 --- a/src/bin/lttng-sessiond/event-notifier-error-accounting.cpp +++ b/src/bin/lttng-sessiond/event-notifier-error-accounting.cpp @@ -25,6 +25,7 @@ #define ERROR_COUNTER_INDEX_HT_INITIAL_SIZE 16 +namespace { struct index_ht_entry { struct lttng_ht_node_u64 node; uint64_t error_counter_index; @@ -53,10 +54,10 @@ struct kernel_error_accounting_entry { int error_counter_fd; }; -static struct kernel_error_accounting_entry kernel_error_accounting_entry; +struct kernel_error_accounting_entry kernel_error_accounting_entry; /* Hashtable mapping uid to error_account_entry. */ -static struct lttng_ht *error_counter_uid_ht; +struct lttng_ht *error_counter_uid_ht; struct error_accounting_state { struct lttng_index_allocator *index_allocator; @@ -65,8 +66,9 @@ struct error_accounting_state { uint64_t number_indices; }; -static struct error_accounting_state ust_state; -static struct error_accounting_state kernel_state; +struct error_accounting_state ust_state; +struct error_accounting_state kernel_state; +} /* namespace */ static inline void get_trigger_info_for_log(const struct lttng_trigger *trigger, const char **trigger_name, @@ -113,18 +115,20 @@ const char *error_accounting_status_str( } #ifdef HAVE_LIBLTTNG_UST_CTL +namespace { struct event_notifier_counter { pthread_mutex_t lock; long count; }; -static struct event_notifier_counter the_event_notifier_counter; +struct event_notifier_counter the_event_notifier_counter; +} /* namespace */ static void free_ust_error_accounting_entry(struct rcu_head *head) { int i; struct ust_error_accounting_entry *entry = - caa_container_of(head, typeof(*entry), rcu_head); + lttng::utils::container_of(head, &ust_error_accounting_entry::rcu_head); for (i = 0; i < entry->nr_counter_cpu_fds; i++) { lttng_ust_ctl_release_object(-1, entry->cpu_counters[i]); @@ -151,7 +155,7 @@ static void ust_error_accounting_entry_release(struct urcu_ref *entry_ref) { struct ust_error_accounting_entry *entry = - container_of(entry_ref, typeof(*entry), ref); + lttng::utils::container_of(entry_ref, &ust_error_accounting_entry::ref); rcu_read_lock(); cds_lfht_del(error_counter_uid_ht->ht, &entry->node.node); @@ -318,8 +322,7 @@ enum event_notifier_error_accounting_status get_error_counter_index_for_token( lttng_ht_lookup(state->indices_ht, &tracer_token, &iter); node = lttng_ht_iter_get_node_u64(&iter); if (node) { - index_entry = caa_container_of( - node, const struct index_ht_entry, node); + index_entry = lttng::utils::container_of(node, &index_ht_entry::node); *error_counter_index = index_entry->error_counter_index; status = EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_OK; } else { @@ -375,7 +378,7 @@ struct ust_error_accounting_entry *ust_error_accounting_entry_create( struct lttng_ust_ctl_daemon_counter *daemon_counter; struct lttng_ust_abi_object_data *counter, **cpu_counters; struct ust_error_accounting_entry *entry = NULL; - lttng_ust_ctl_counter_dimension dimension; + lttng_ust_ctl_counter_dimension dimension = {}; dimension.size = ust_state.number_indices; dimension.has_underflow = false; @@ -1324,8 +1327,8 @@ void event_notifier_error_accounting_unregister_event_notifier( node = lttng_ht_iter_get_node_u64(&iter); if (node) { int del_ret; - struct index_ht_entry *index_entry = caa_container_of( - node, typeof(*index_entry), node); + struct index_ht_entry *index_entry = + lttng::utils::container_of(node, &index_ht_entry::node); enum lttng_index_allocator_status index_alloc_status; index_alloc_status = lttng_index_allocator_release(