From f697215e54c165c129bdf742f8f8c9d40476a89c Mon Sep 17 00:00:00 2001 From: Danny Canter Date: Fri, 24 Oct 2025 14:48:26 -0700 Subject: [PATCH] LinuxContainer: Stop all relays on create failure (#358) If create fails we don't cleanup the relays we may have setup. --- Sources/Containerization/LinuxContainer.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Sources/Containerization/LinuxContainer.swift b/Sources/Containerization/LinuxContainer.swift index b8a32b1f..bc477f6e 100644 --- a/Sources/Containerization/LinuxContainer.swift +++ b/Sources/Containerization/LinuxContainer.swift @@ -313,10 +313,10 @@ extension LinuxContainer { ) let creationConfig = StandardVMConfig(configuration: vmConfig) let vm = try await self.vmm.create(config: creationConfig) + let relayManager = UnixSocketRelayManager(vm: vm, log: self.logger) try await vm.start() do { - let relayManager = UnixSocketRelayManager(vm: vm, log: self.logger) try await vm.withAgent { agent in try await agent.standardSetup() @@ -361,6 +361,7 @@ extension LinuxContainer { } state = .created(.init(vm: vm, relayManager: relayManager)) } catch { + try? await relayManager.stopAll() try? await vm.stop() state.setErrored(error: error) throw error