swarm/storage: fix mockNetFetcher data races (#18462)

fixes: ethersphere/go-ethereum#1117
This commit is contained in:
Janoš Guljaš 2019-01-16 14:31:32 +01:00 committed by Viktor Trón
parent 96c7c18b18
commit f728837ee6

View File

@ -43,6 +43,7 @@ type mockNetFetcher struct {
quit <-chan struct{} quit <-chan struct{}
ctx context.Context ctx context.Context
hopCounts []uint8 hopCounts []uint8
mu sync.Mutex
} }
func (m *mockNetFetcher) Offer(ctx context.Context, source *enode.ID) { func (m *mockNetFetcher) Offer(ctx context.Context, source *enode.ID) {
@ -51,6 +52,9 @@ func (m *mockNetFetcher) Offer(ctx context.Context, source *enode.ID) {
} }
func (m *mockNetFetcher) Request(ctx context.Context, hopCount uint8) { func (m *mockNetFetcher) Request(ctx context.Context, hopCount uint8) {
m.mu.Lock()
defer m.mu.Unlock()
m.requestCalled = true m.requestCalled = true
var peers []Address var peers []Address
m.peers.Range(func(key interface{}, _ interface{}) bool { m.peers.Range(func(key interface{}, _ interface{}) bool {