Skip to content

Commit 7e9fee0

Browse files
authored
Merge pull request #71399 from artemcm/DependencyScanningToolIsolation
[DependencyScanning] Isolate `DependencyScanningTool` reset operations
2 parents ea6295e + 0046165 commit 7e9fee0

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

lib/AST/ModuleDependencies.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,7 @@ SwiftDependencyScanningService::getDependenciesMap(
590590
}
591591

592592
void SwiftDependencyScanningService::configureForContextHash(StringRef scanningContextHash) {
593+
llvm::sys::SmartScopedLock<true> Lock(ScanningServiceGlobalLock);
593594
auto knownContext = ContextSpecificCacheMap.find(scanningContextHash);
594595
if (knownContext == ContextSpecificCacheMap.end()) {
595596
// First time scanning with this context, initialize context-specific state.
@@ -599,7 +600,6 @@ void SwiftDependencyScanningService::configureForContextHash(StringRef scanningC
599600
kind != ModuleDependencyKind::LastKind; ++kind) {
600601
contextSpecificCache->ModuleDependenciesMap.insert({kind, ModuleNameToDependencyMap()});
601602
}
602-
llvm::sys::SmartScopedLock<true> Lock(ScanningServiceGlobalLock);
603603
ContextSpecificCacheMap.insert({scanningContextHash.str(), std::move(contextSpecificCache)});
604604
AllContextHashes.push_back(scanningContextHash.str());
605605
}

lib/DependencyScan/DependencyScanningTool.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,10 +215,12 @@ bool DependencyScanningTool::loadCache(llvm::StringRef path) {
215215
}
216216

217217
void DependencyScanningTool::resetCache() {
218+
llvm::sys::SmartScopedLock<true> Lock(DependencyScanningToolStateLock);
218219
ScanningService.reset(new SwiftDependencyScanningService());
219220
}
220221

221222
void DependencyScanningTool::resetDiagnostics() {
223+
llvm::sys::SmartScopedLock<true> Lock(DependencyScanningToolStateLock);
222224
CDC.reset();
223225
}
224226

0 commit comments

Comments
 (0)