command/lock: Check for shutdown during lock acquisition. Fixes #800
This commit is contained in:
parent
2b93e5f52c
commit
6f42f6640c
|
@ -71,6 +71,7 @@ Options:
|
|||
}
|
||||
|
||||
func (c *LockCommand) Run(args []string) int {
|
||||
var childDone chan struct{}
|
||||
var name, token string
|
||||
var limit int
|
||||
cmdFlags := flag.NewFlagSet("watch", flag.ContinueOnError)
|
||||
|
@ -147,8 +148,16 @@ func (c *LockCommand) Run(args []string) int {
|
|||
return 1
|
||||
}
|
||||
|
||||
// Check if we were shutdown but managed to still acquire the lock
|
||||
select {
|
||||
case <-c.ShutdownCh:
|
||||
c.Ui.Error("Shutdown triggered during lock acquisition")
|
||||
goto RELEASE
|
||||
default:
|
||||
}
|
||||
|
||||
// Start the child process
|
||||
childDone := make(chan struct{})
|
||||
childDone = make(chan struct{})
|
||||
go func() {
|
||||
if err := c.startChild(script, childDone); err != nil {
|
||||
c.Ui.Error(fmt.Sprintf("%s", err))
|
||||
|
|
Loading…
Reference in New Issue