LinuxContainer: Stop all relays on create failure (#358)

If create fails we don't cleanup the relays we may have setup.
This commit is contained in:
Danny Canter
2025-10-24 14:48:26 -07:00
committed by GitHub
parent c7af5b8222
commit f697215e54
@@ -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