Skip to content

Commit

Permalink
transport: fix race accessing s.recvCompress (#4627)
Browse files Browse the repository at this point in the history
  • Loading branch information
menghanl committed Aug 3, 2021
1 parent db2d595 commit 2e0b66b
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion internal/transport/http2_client.go
Expand Up @@ -1275,6 +1275,7 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
contentTypeErr string
grpcMessage string
statusGen *status.Status
recvCompress string

httpStatus string
rawStatus string
Expand All @@ -1292,7 +1293,7 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
mdata[hf.Name] = append(mdata[hf.Name], hf.Value)
isGRPC = true
case "grpc-encoding":
s.recvCompress = hf.Value
recvCompress = hf.Value
case "grpc-status":
rawStatus = hf.Value
case "grpc-message":
Expand Down Expand Up @@ -1384,6 +1385,7 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
// These values can be set without any synchronization because
// stream goroutine will read it only after seeing a closed
// headerChan which we'll close after setting this.
s.recvCompress = recvCompress
if len(mdata) > 0 {
s.header = mdata
}
Expand Down

0 comments on commit 2e0b66b

Please sign in to comment.