Move project info extraction off the main thread.
This fixes a deadlock issue in the GUI.
PiperOrigin-RevId: 222311850
diff --git a/src/Tulsi/TulsiProjectDocument.swift b/src/Tulsi/TulsiProjectDocument.swift
index 1f3d453..068bc73 100644
--- a/src/Tulsi/TulsiProjectDocument.swift
+++ b/src/Tulsi/TulsiProjectDocument.swift
@@ -571,9 +571,10 @@
}
processingTaskStarted()
- infoExtractor = TulsiProjectInfoExtractor(bazelURL: concreteBazelURL, project: project)
Thread.doOnQOSUserInitiatedThread() {
+ self.infoExtractor = TulsiProjectInfoExtractor(bazelURL: concreteBazelURL,
+ project: self.project)
let updatedRuleEntries = self.infoExtractor.extractTargetRules()
Thread.doOnMainQueue() {
self._ruleInfos = updatedRuleEntries