diff options
author | Jan Tattermusch <jtattermusch@google.com> | 2018-01-30 12:17:44 +0100 |
---|---|---|
committer | Jan Tattermusch <jtattermusch@google.com> | 2018-01-30 12:17:44 +0100 |
commit | 8376749faa4a2fdaaeabeb318b12b3aa6058f300 (patch) | |
tree | b22f012995e65bbed5e8072e04bf536354502721 /test/core/transport | |
parent | e6cf0aeff4979e5ff2501e7fe5e2fdf926350452 (diff) |
fix EventState::done() data race
Diffstat (limited to 'test/core/transport')
-rw-r--r-- | test/core/transport/chttp2/settings_timeout_test.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/core/transport/chttp2/settings_timeout_test.cc b/test/core/transport/chttp2/settings_timeout_test.cc index d7d6ee7508..7fb395d4b6 100644 --- a/test/core/transport/chttp2/settings_timeout_test.cc +++ b/test/core/transport/chttp2/settings_timeout_test.cc @@ -169,7 +169,7 @@ class Client { grpc_closure* closure() { return &closure_; } - bool done() const { return done_; } + bool done() const { return gpr_atm_acq_load(&done_atm_) != 0; } // Caller does NOT take ownership of the error. grpc_error* error() const { return error_; } @@ -179,11 +179,11 @@ class Client { gpr_log(GPR_INFO, "OnEventDone(): %s", grpc_error_string(error)); EventState* state = (EventState*)arg; state->error_ = GRPC_ERROR_REF(error); - state->done_ = true; + gpr_atm_rel_store(&state->done_atm_, 1); } grpc_closure closure_; - bool done_ = false; + gpr_atm done_atm_ = 0; grpc_error* error_ = GRPC_ERROR_NONE; }; |