swarm/storage: fix mockNetFetcher data races

fixes: ethersphere/go-ethereum#1117
This commit is contained in:
Janos Guljas 2019-01-16 13:22:34 +01:00
parent 4aeeecfded
commit be158bdc81

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 {