Use global mutex for fsDeps update
Test: m, test race in test execution locally, CI
Change-Id: Ia0ff5b37f5bc6e53d70e6c987058feb148130134
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index e97fce6..f10b2ba 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -45,6 +45,7 @@
ctx.BottomUp("fs_collect_deps", collectDepsMutator).MutatesGlobalState()
}
+var fsDepsMutex = sync.Mutex{}
var collectFsDepsOnceKey = android.NewOnceKey("CollectFsDeps")
var depCandidatesOnceKey = android.NewOnceKey("DepCandidates")
@@ -80,12 +81,11 @@
}).(*[]string)
m := mctx.Module()
- mutex := &sync.Mutex{}
if slices.Contains(*depCandidates, m.Name()) {
if installInSystem(mctx, m) {
- mutex.Lock()
+ fsDepsMutex.Lock()
*fsDeps = append(*fsDeps, m.Name())
- mutex.Unlock()
+ fsDepsMutex.Unlock()
}
}
}