Explorar o código

swarm/storage/localstore: fix testDB_collectGarbageWorker data race (#19206)

Janoš Guljaš %!s(int64=6) %!d(string=hai) anos
pai
achega
216bd2ceba
Modificáronse 1 ficheiros con 7 adicións e 5 borrados
  1. 7 5
      swarm/storage/localstore/gc_test.go

+ 7 - 5
swarm/storage/localstore/gc_test.go

@@ -51,14 +51,16 @@ func testDB_collectGarbageWorker(t *testing.T) {
 
 	chunkCount := 150
 
-	testHookCollectGarbageChan := make(chan int64)
-	defer setTestHookCollectGarbage(func(collectedCount int64) {
-		testHookCollectGarbageChan <- collectedCount
-	})()
-
 	db, cleanupFunc := newTestDB(t, &Options{
 		Capacity: 100,
 	})
+	testHookCollectGarbageChan := make(chan int64)
+	defer setTestHookCollectGarbage(func(collectedCount int64) {
+		select {
+		case testHookCollectGarbageChan <- collectedCount:
+		case <-db.close:
+		}
+	})()
 	defer cleanupFunc()
 
 	uploader := db.NewPutter(ModePutUpload)