Fix a race in the amgr found by the race detector.
This commit is contained in:
parent
6f063e0c1b
commit
bc6ff038e3
1 changed files with 5 additions and 1 deletions
|
@ -140,7 +140,11 @@ func (a *AddrManager) updateAddress(netAddr, srcAddr *btcwire.NetAddress) {
|
|||
return
|
||||
}
|
||||
} else {
|
||||
ka = &knownAddress{na: netAddr, srcAddr: srcAddr}
|
||||
// Make a copy of the net address to avoid races since it is
|
||||
// updated elsewhere in the addrmanager code and would otherwise
|
||||
// change the actual netaddress on the peer.
|
||||
netAddrCopy := *netAddr
|
||||
ka = &knownAddress{na: &netAddrCopy, srcAddr: srcAddr}
|
||||
a.addrIndex[addr] = ka
|
||||
a.nNew++
|
||||
// XXX time penalty?
|
||||
|
|
Loading…
Reference in a new issue