Fix singnal handling for different systems

This commit is contained in:
Ken Hibino
2020-04-05 12:14:42 -07:00
parent 7864bea55c
commit 60b887b8e3
4 changed files with 53 additions and 15 deletions

21
signals_windows.go Normal file
View File

@@ -0,0 +1,21 @@
// +build windows
package asynq
import (
"os"
"os/signal"
"golang.org/x/sys/windows"
)
// waitForSignals waits for signals and handle them.
// It handles SIGTERM, SIGINT.
// SIGTERM and SIGINT will signal the process to exit.
//
// Note: Currently SIGTSTP is not supported for windows build.
func (bg *Background) waitForSignals() {
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, windows.SIGTERM, windows.SIGINT)
<-sigs
}