aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/transport
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2018-01-03 14:24:49 -0800
committerGravatar ncteisen <ncteisen@gmail.com>2018-01-03 20:50:38 -0800
commit3c747f1bd8294aa11c2d9d5aa17099441c193107 (patch)
tree7cf0f81aaa6b34215541ab37aff5b98b8c4de676 /src/core/ext/transport
parent24902641d434005bee6641e62fb2b57fc0b6bd87 (diff)
Fix tsan
Diffstat (limited to 'src/core/ext/transport')
-rw-r--r--src/core/ext/transport/chttp2/transport/chttp2_transport.cc10
1 files changed, 5 insertions, 5 deletions
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<grpc_core::chttp2::TransportFlowControl>(t,
enable_bdp);
} else {