From 87b05b6a6fbb5c407db8fddc6e89ae2bc28dda19 Mon Sep 17 00:00:00 2001 From: Shane Smith Date: Thu, 2 Jun 2022 16:31:21 -0400 Subject: Prevent simultaneous machine starts Running `podman machine start` twice at the same time in different terminals, for example, will make the second invocation fail and the first one hang. [NO NEW TESTS NEEDED] Signed-off-by: Shane Smith --- pkg/machine/qemu/machine.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go index b9f23662e..071da94a6 100644 --- a/pkg/machine/qemu/machine.go +++ b/pkg/machine/qemu/machine.go @@ -480,6 +480,10 @@ func (v *MachineVM) Start(name string, _ machine.StartOptions) error { wait = time.Millisecond * 500 ) + if v.Starting { + return fmt.Errorf("machine %q is already in the process of being started", v.Name) + } + v.Starting = true if err := v.writeConfig(); err != nil { return fmt.Errorf("writing JSON file: %w", err) -- cgit v1.2.3-54-g00ecf