Browse Source

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

fixes: ethersphere/go-ethereum#1117
Janoš Guljaš 6 năm trước cách đây
mục cha
commit
f728837ee6
1 tập tin đã thay đổi với 4 bổ sung0 xóa
  1. 4 0
      swarm/storage/netstore_test.go

+ 4 - 0
swarm/storage/netstore_test.go

@@ -43,6 +43,7 @@ type mockNetFetcher struct {
 	quit            <-chan struct{}
 	ctx             context.Context
 	hopCounts       []uint8
+	mu              sync.Mutex
 }
 
 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) {
+	m.mu.Lock()
+	defer m.mu.Unlock()
+
 	m.requestCalled = true
 	var peers []Address
 	m.peers.Range(func(key interface{}, _ interface{}) bool {