Skip to content

Commit a5509df

Browse files
committed
vm(qemu): only update cache once per launch
It should not change since it is in the signed app bundle.
1 parent 624e8e0 commit a5509df

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

Services/UTMQemuVirtualMachine.swift

+8-1
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ final class UTMQemuVirtualMachine: UTMSpiceVirtualMachine {
156156
private var changeCursorRequestInProgress: Bool = false
157157

158158
private static var resourceCacheOperationQueue = DispatchQueue(label: "Resource Cache Operation")
159+
private static var isResourceCacheUpdated = false
159160

160161
#if WITH_SERVER
161162
@Setting("ServerPort") private var serverPort: Int = 0
@@ -957,10 +958,16 @@ extension UTMQemuVirtualMachine {
957958
}
958959

959960
func ensureQemuResourceCacheUpToDate() async throws {
961+
guard !Self.isResourceCacheUpdated else {
962+
return
963+
}
960964
try await withCheckedThrowingContinuation { continuation in
961965
Self.resourceCacheOperationQueue.async { [weak self] in
962966
do {
963-
try self?._ensureQemuResourceCacheUpToDate()
967+
if !Self.isResourceCacheUpdated {
968+
try self?._ensureQemuResourceCacheUpToDate()
969+
Self.isResourceCacheUpdated = true
970+
}
964971
continuation.resume()
965972
} catch {
966973
continuation.resume(throwing: error)

0 commit comments

Comments
 (0)