From 09da9205c63ba825c1a87712fb025d514ef6774e Mon Sep 17 00:00:00 2001 From: Kathryn Baldauf Date: Fri, 17 Oct 2025 14:54:57 -0700 Subject: [PATCH] Make vmm create protocol async (#338) The `vmm.create` call is already made within an async function. This PR updates the protocol to allow other vmm implementations more flexibility in `create`. Signed-off-by: Kathryn Baldauf --- Sources/Containerization/LinuxContainer.swift | 2 +- Sources/Containerization/VirtualMachineManager.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/Containerization/LinuxContainer.swift b/Sources/Containerization/LinuxContainer.swift index fbce21d2..eaa8707e 100644 --- a/Sources/Containerization/LinuxContainer.swift +++ b/Sources/Containerization/LinuxContainer.swift @@ -364,7 +364,7 @@ extension LinuxContainer { try await self.state.withLock { state in try state.validateForCreate() - let vm = try self.vmm.create(container: self) + let vm = try await self.vmm.create(container: self) try await vm.start() do { let relayManager = UnixSocketRelayManager(vm: vm) diff --git a/Sources/Containerization/VirtualMachineManager.swift b/Sources/Containerization/VirtualMachineManager.swift index 3f991b93..11d9d5c7 100644 --- a/Sources/Containerization/VirtualMachineManager.swift +++ b/Sources/Containerization/VirtualMachineManager.swift @@ -16,5 +16,5 @@ /// A protocol to implement for virtual machine isolated containers. public protocol VirtualMachineManager: Sendable { - func create(container: Container) throws -> any VirtualMachineInstance + func create(container: Container) async throws -> any VirtualMachineInstance }