builder/virtualbox: ctrl-c works during wait for boot
This commit is contained in:
parent
f8dbe5246c
commit
e28e827a16
|
@ -20,6 +20,7 @@ BUG FIXES:
|
||||||
|
|
||||||
* builder/amazon/chroot: Copying empty directories works. [GH-588]
|
* builder/amazon/chroot: Copying empty directories works. [GH-588]
|
||||||
* builder/amazon/chroot: Chroot commands work with shell provisioners. [GH-581]
|
* builder/amazon/chroot: Chroot commands work with shell provisioners. [GH-581]
|
||||||
|
* builder/virtualbox: Ctrl-C interrupts during waiting for boot. [GH-618]
|
||||||
* builder/vmware: VMX modifications are now case-insensitive. [GH-608]
|
* builder/vmware: VMX modifications are now case-insensitive. [GH-608]
|
||||||
* builder/vmware: VMware Fusion won't ask for VM upgrade.
|
* builder/vmware: VMware Fusion won't ask for VM upgrade.
|
||||||
* provisioner/chef-solo: Output is slightly prettier and more informative.
|
* provisioner/chef-solo: Output is slightly prettier and more informative.
|
||||||
|
|
|
@ -42,7 +42,18 @@ func (s *stepRun) Run(state multistep.StateBag) multistep.StepAction {
|
||||||
|
|
||||||
if int64(config.bootWait) > 0 {
|
if int64(config.bootWait) > 0 {
|
||||||
ui.Say(fmt.Sprintf("Waiting %s for boot...", config.bootWait))
|
ui.Say(fmt.Sprintf("Waiting %s for boot...", config.bootWait))
|
||||||
time.Sleep(config.bootWait)
|
wait := time.After(config.bootWait)
|
||||||
|
WAITLOOP:
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-wait:
|
||||||
|
break WAITLOOP
|
||||||
|
case <-time.After(1 * time.Second):
|
||||||
|
if _, ok := state.GetOk(multistep.StateCancelled); ok {
|
||||||
|
return multistep.ActionHalt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return multistep.ActionContinue
|
return multistep.ActionContinue
|
||||||
|
|
Loading…
Reference in New Issue