diff options
author | Vijay Pai <vpai@google.com> | 2017-10-30 15:10:23 -0700 |
---|---|---|
committer | Vijay Pai <vpai@google.com> | 2017-10-30 15:10:56 -0700 |
commit | f92b5300680dac5b9bd68e4b821edda3b5166822 (patch) | |
tree | bdf16240afa32e87b6ac4fa5f5f7ae7833280313 /test/cpp/microbenchmarks/fullstack_fixtures.h | |
parent | 9e6837d3978b35b267af319b95a2b0265d9c4c77 (diff) |
Fix a data race in microbenchmark stats gathering
Diffstat (limited to 'test/cpp/microbenchmarks/fullstack_fixtures.h')
-rw-r--r-- | test/cpp/microbenchmarks/fullstack_fixtures.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/test/cpp/microbenchmarks/fullstack_fixtures.h b/test/cpp/microbenchmarks/fullstack_fixtures.h index a7f8504505..9d345a909b 100644 --- a/test/cpp/microbenchmarks/fullstack_fixtures.h +++ b/test/cpp/microbenchmarks/fullstack_fixtures.h @@ -25,6 +25,7 @@ #include <grpc++/security/server_credentials.h> #include <grpc++/server.h> #include <grpc++/server_builder.h> +#include <grpc/support/atm.h> #include <grpc/support/log.h> extern "C" { @@ -259,7 +260,8 @@ class InProcessCHTTP2 : public EndpointPairFixture { void AddToLabel(std::ostream& out, benchmark::State& state) { EndpointPairFixture::AddToLabel(out, state); out << " writes/iter:" - << (double)stats_.num_writes / (double)state.iterations(); + << static_cast<double>(gpr_atm_no_barrier_load(&stats_.num_writes)) / + static_cast<double>(state.iterations()); } private: |