X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp%2Fstats%2Fstat_segment.c;h=6a666f5094d764e97f276dec1c8f84e20cbb0273;hb=445d1100587fd3fe533bd201877794555f9593b5;hp=b060969f04f74826e875c5e92f28bdf844b8a79d;hpb=4537c30925050ffa34c33e6a481f07f1ec0a01ff;p=vpp.git diff --git a/src/vpp/stats/stat_segment.c b/src/vpp/stats/stat_segment.c index b060969f04f..6a666f5094d 100644 --- a/src/vpp/stats/stat_segment.c +++ b/src/vpp/stats/stat_segment.c @@ -281,7 +281,8 @@ stat_set_simple_counter (stat_segment_directory_entry_t * ep, u32 thread_index, u32 index, u64 value) { ASSERT (ep->data); - counter_t *cb = ep->data; + counter_t **counters = ep->data; + counter_t *cb = counters[thread_index]; cb[index] = value; } @@ -329,13 +330,15 @@ vlib_map_stat_segment_init (void) mfd = clib_mem_vm_create_fd (sm->log2_page_sz, mem_name); - /* Set size */ - if ((ftruncate (mfd, memory_size)) == -1) - return clib_error_return (0, "stat segment ftruncate failure"); - if (mfd == -1) return clib_error_return (0, "stat segment memory fd failure: %U", format_clib_error, clib_mem_get_last_error ()); + /* Set size */ + if ((ftruncate (mfd, memory_size)) == -1) + { + close (mfd); + return clib_error_return (0, "stat segment ftruncate failure"); + } memaddr = clib_mem_vm_map_shared (0, memory_size, mfd, 0, mem_name); @@ -667,10 +670,10 @@ do_stat_segment_updates (stat_segment_main_t * sm) /* *INDENT-OFF* */ stat_segment_gauges_pool_t *g; - pool_foreach(g, sm->gauges, - ({ + pool_foreach (g, sm->gauges) + { g->fn(&sm->directory_vector[g->directory_index], g->caller_index); - })); + } /* *INDENT-ON* */ /* Heartbeat, so clients detect we're still here */