aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar David Garcia Quintas <dgq@google.com>2016-03-18 11:37:14 -0700
committerGravatar David Garcia Quintas <dgq@google.com>2016-03-18 11:37:14 -0700
commit7d2c7333398fd05e9901ccea088b0280b6901893 (patch)
tree6f8e411be4919155e414c80ecbfc749e951bf3bc /src
parenta36ec16de289950613d797f3aec5a0face9921c9 (diff)
Locked read access to call->encodings_accepted_by_peer
Diffstat (limited to 'src')
-rw-r--r--src/core/surface/call.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index 7dd74d86b4..6f1cd1df10 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -1484,6 +1484,8 @@ uint8_t grpc_call_is_client(grpc_call *call) { return call->is_client; }
grpc_compression_algorithm grpc_call_compression_for_level(
grpc_call *call, grpc_compression_level level) {
- return grpc_compression_algorithm_for_level(level,
- call->encodings_accepted_by_peer);
+ gpr_mu_lock(&call->mu);
+ const uint32_t accepted_encodings = call->encodings_accepted_by_peer;
+ gpr_mu_unlock(&call->mu);
+ return grpc_compression_algorithm_for_level(level, accepted_encodings);
}