Skip to content

Commit b385bbf

Browse files
Merge pull request #1591 from cachemeifyoucan/eng/PR-fix-continuation-misuse
[CAS] Fix task continuation misuse when CAS error happens
2 parents f2cbb46 + 9aa8de3 commit b385bbf

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

Sources/SwiftDriver/SwiftScan/SwiftScanCAS.swift

+6-3
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,9 @@ extension CachedOutput {
344344
} else {
345345
obj.continuation.resume(throwing: DependencyScanningError.casError("unknown output loading error"))
346346
}
347+
} else {
348+
obj.continuation.resume(returning: success)
347349
}
348-
obj.continuation.resume(returning: success)
349350
}
350351

351352
return try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<Bool, Swift.Error>) in
@@ -378,8 +379,9 @@ extension SwiftScanCAS {
378379
} else {
379380
obj.continuation.resume(throwing: DependencyScanningError.casError("unknown cache querying error"))
380381
}
382+
} else {
383+
obj.continuation.resume(returning: obj.cas.convert(compilation: comp))
381384
}
382-
obj.continuation.resume(returning: obj.cas.convert(compilation: comp))
383385
}
384386

385387
return try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<CachedCompilation?, Swift.Error>) in
@@ -410,8 +412,9 @@ extension SwiftScanCAS {
410412
} else {
411413
obj.continuation.resume(throwing: DependencyScanningError.casError("unknown output loading error"))
412414
}
415+
} else {
416+
obj.continuation.resume(returning: success)
413417
}
414-
obj.continuation.resume(returning: success)
415418
}
416419

417420
return try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<Bool, Swift.Error>) in

0 commit comments

Comments
 (0)