diff options
| author | Garrett D'Amore <garrett@damore.org> | 2021-12-05 22:11:24 -0500 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2021-12-05 23:04:45 -0500 |
| commit | c9bbe8eb574fe10ff16cc71a23fcc9b31fb8ed04 (patch) | |
| tree | 3a135bbee8750cc1b1869cfca6a2e6f24bf8e59c /src/core/stats.c | |
| parent | eee06d1e8365ea1b1aa9363a3c6445745b002324 (diff) | |
| download | nng-c9bbe8eb574fe10ff16cc71a23fcc9b31fb8ed04.tar.gz nng-c9bbe8eb574fe10ff16cc71a23fcc9b31fb8ed04.tar.bz2 nng-c9bbe8eb574fe10ff16cc71a23fcc9b31fb8ed04.zip | |
Use static initialization for lists and mutexes.
This eliminates some run-time initialization, moving it to compile time.
Additional follow up work will expand on this to simplify initialization
and reduce the need for certain locks.
Diffstat (limited to 'src/core/stats.c')
| -rw-r--r-- | src/core/stats.c | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/core/stats.c b/src/core/stats.c index e4765078..f7e52fb0 100644 --- a/src/core/stats.c +++ b/src/core/stats.c @@ -19,21 +19,21 @@ struct nng_stat { const nni_stat_info *s_info; const nni_stat_item *s_item; // Used during snapshot collection nni_list s_children; - nni_stat * s_parent; + nni_stat *s_parent; nni_list_node s_node; nni_time s_timestamp; union { int sv_id; bool sv_bool; uint64_t sv_value; - char * sv_string; + char *sv_string; } s_val; }; #ifdef NNG_ENABLE_STATS static nni_stat_item stats_root; -static nni_mtx stats_lock; -static nni_mtx stats_val_lock; +static nni_mtx stats_lock = NNI_MTX_INITIALIZER; +static nni_mtx stats_val_lock = NNI_MTX_INITIALIZER; #endif void @@ -171,7 +171,7 @@ nni_stat_set_string(nni_stat_item *item, const char *s) { #ifdef NNG_ENABLE_STATS const nni_stat_info *info = item->si_info; - char * old = item->si_u.sv_string; + char *old = item->si_u.sv_string; nni_mtx_lock(&stats_val_lock); if ((s != NULL) && (old != NULL) && (strcmp(s, old) == 0)) { @@ -235,7 +235,7 @@ nng_stats_free(nni_stat *st) static int stat_make_tree(nni_stat_item *item, nni_stat **sp) { - nni_stat * stat; + nni_stat *stat; nni_stat_item *child; if ((stat = NNI_ALLOC_STRUCT(stat)) == NULL) { @@ -266,8 +266,8 @@ stat_update(nni_stat *stat) { const nni_stat_item *item = stat->s_item; const nni_stat_info *info = item->si_info; - char * old; - char * str; + char *old; + char *str; switch (info->si_type) { case NNG_STAT_SCOPE: @@ -397,7 +397,6 @@ nng_stat_bool(nni_stat *stat) return (stat->s_val.sv_bool); } - const char * nng_stat_string(nng_stat *stat) { @@ -498,8 +497,6 @@ nni_stat_sys_init(void) .si_desc = "all statistics", .si_type = NNG_STAT_SCOPE, }; - nni_mtx_init(&stats_lock); - nni_mtx_init(&stats_val_lock); nni_stat_init(&stats_root, &root); #endif return (0); @@ -508,10 +505,6 @@ nni_stat_sys_init(void) void nni_stat_sys_fini(void) { -#ifdef NNG_ENABLE_STATS - nni_mtx_fini(&stats_lock); - nni_mtx_fini(&stats_val_lock); -#endif } #ifdef NNG_ENABLE_STATS @@ -538,10 +531,10 @@ nng_stats_dump(nng_stat *stat) #ifdef NNG_ENABLE_STATS static char buf[128]; // to minimize recursion, not thread safe int len; - char * scope; - char * indent = " "; + char *scope; + char *indent = " "; unsigned long long val; - nni_stat * child; + nni_stat *child; switch (nng_stat_type(stat)) { case NNG_STAT_SCOPE: |
