Skip to content

Commit

Permalink
Merge pull request #591 from moogacs/main
Browse files Browse the repository at this point in the history
fix: serialize NetworkTransport data race on ServerAddr()
  • Loading branch information
jmurret committed Apr 26, 2024
2 parents 501fbad + c6584b3 commit 341ea38
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions net_transport.go
Expand Up @@ -91,6 +91,7 @@ type NetworkTransport struct {
maxPool int
maxInFlight int

serverAddressLock sync.RWMutex
serverAddressProvider ServerAddressProvider

shutdown bool
Expand Down Expand Up @@ -384,6 +385,8 @@ func (n *NetworkTransport) getConnFromAddressProvider(id ServerID, target Server
}

func (n *NetworkTransport) getProviderAddressOrFallback(id ServerID, target ServerAddress) ServerAddress {
n.serverAddressLock.RLock()
defer n.serverAddressLock.RUnlock()
if n.serverAddressProvider != nil {
serverAddressOverride, err := n.serverAddressProvider.ServerAddr(id)
if err != nil {
Expand Down

0 comments on commit 341ea38

Please sign in to comment.