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
|
return
|
||||||
}
|
}
|
||||||
} else {
|
} 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.addrIndex[addr] = ka
|
||||||
a.nNew++
|
a.nNew++
|
||||||
// XXX time penalty?
|
// XXX time penalty?
|
||||||
|
|
Loading…
Reference in a new issue