packer: Ui requires input for Ctrl-C

This commit is contained in:
Mitchell Hashimoto 2013-06-14 17:37:38 -07:00
parent 4c1873d1f3
commit 22e7345148
2 changed files with 11 additions and 8 deletions

View File

@ -210,7 +210,6 @@ func (c Command) Run(env packer.Environment, args []string) int {
} }
} }
// Wait for both the builds to complete and the interrupt handler, // Wait for both the builds to complete and the interrupt handler,
// if it is interrupted. // if it is interrupted.
log.Printf("Waiting on builds to complete...") log.Printf("Waiting on builds to complete...")

View File

@ -124,14 +124,18 @@ func (rw *ReaderWriterUi) Ask(query string) string {
result <- line result <- line
}() }()
select { for {
case line := <-result: select {
return line case line := <-result:
case <-sigCh: return line
log.Println("Interrupt during Ask call. Returning immediately.") case <-sigCh:
fmt.Fprintln(rw.Writer) fmt.Fprint(
return "" rw.Writer,
"\nInterrupts are blocked while waiting for input. Press enter.")
}
} }
return ""
} }
func (rw *ReaderWriterUi) Say(message string) { func (rw *ReaderWriterUi) Say(message string) {