From 3c747f1bd8294aa11c2d9d5aa17099441c193107 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Wed, 3 Jan 2018 14:24:49 -0800 Subject: Fix tsan --- src/core/ext/transport/chttp2/transport/chttp2_transport.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index 5ee1f08e61..97f79d9bdf 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -233,7 +233,7 @@ void grpc_chttp2_ref_transport(grpc_chttp2_transport* t) { gpr_ref(&t->refs); } static const grpc_transport_vtable* get_vtable(void); // -1 == unset, 0 == disabled, 1 == enabled -static int flow_control_enabled = -1; +static gpr_atm flow_control_enabled = -1; static void init_transport(grpc_chttp2_transport* t, const grpc_channel_args* channel_args, @@ -520,17 +520,17 @@ static void init_transport(grpc_chttp2_transport* t, } } - if (flow_control_enabled == -1) { + if (gpr_atm_no_barrier_load(&flow_control_enabled) == -1) { char* env_variable = gpr_getenv("GRPC_EXPERIMENTAL_DISABLE_FLOW_CONTROL"); if (env_variable != nullptr) { - flow_control_enabled = 0; + gpr_atm_no_barrier_store(&flow_control_enabled, 0); } else { - flow_control_enabled = 1; + gpr_atm_no_barrier_store(&flow_control_enabled, 1); } gpr_free(env_variable); } - if (flow_control_enabled) { + if (gpr_atm_no_barrier_load(&flow_control_enabled)) { t->flow_control.Init(t, enable_bdp); } else { -- cgit v1.2.3