Merge pull request #827 from mfischer-zd/lock_sigterm

Handle SIGTERM when running commands
This commit is contained in:
Ryan Uber 2015-04-01 09:58:55 -07:00
commit a6615b85c4
1 changed files with 3 additions and 2 deletions

View File

@ -3,6 +3,7 @@ package main
import (
"os"
"os/signal"
"syscall"
"github.com/hashicorp/consul/command"
"github.com/hashicorp/consul/command/agent"
@ -136,12 +137,12 @@ func init() {
// makeShutdownCh returns a channel that can be used for shutdown
// notifications for commands. This channel will send a message for every
// interrupt received.
// interrupt or SIGTERM received.
func makeShutdownCh() <-chan struct{} {
resultCh := make(chan struct{})
signalCh := make(chan os.Signal, 4)
signal.Notify(signalCh, os.Interrupt)
signal.Notify(signalCh, os.Interrupt, syscall.SIGTERM)
go func() {
for {
<-signalCh