Merge pull request #2842 from Roasbeef/catch-all-signals
signal: catch all termination signals by default
This commit is contained in:
1 file changed
+12
-3
+12
-3
@@ -8,6 +8,7 @@ package signal
|
||||
import (
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -26,7 +27,15 @@ var (
|
||||
)
|
||||
|
||||
func init() {
|
||||
signal.Notify(interruptChannel, os.Interrupt)
|
||||
signalsToCatch := []os.Signal{
|
||||
os.Interrupt,
|
||||
os.Kill,
|
||||
syscall.SIGABRT,
|
||||
syscall.SIGTERM,
|
||||
syscall.SIGSTOP,
|
||||
syscall.SIGQUIT,
|
||||
}
|
||||
signal.Notify(interruptChannel, signalsToCatch...)
|
||||
go mainInterruptHandler()
|
||||
}
|
||||
|
||||
@@ -60,8 +69,8 @@ func mainInterruptHandler() {
|
||||
|
||||
for {
|
||||
select {
|
||||
case <-interruptChannel:
|
||||
log.Infof("Received SIGINT (Ctrl+C).")
|
||||
case signal := <-interruptChannel:
|
||||
log.Infof("Received %v", signal)
|
||||
shutdown()
|
||||
|
||||
case <-shutdownRequestChannel:
|
||||
|
||||
Reference in new issue
Block a user