You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

26 lines
493 B

package util
import (
"os"
"os/signal"
"syscall"
)
// HandlerExit handler exit signal
func HandlerExit(exitFn func(s os.Signal) int) {
sch := make(chan os.Signal, 1)
signal.Notify(sch, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
s := <-sch
os.Exit(exitFn(s))
}
// HandlerReload handler Reload signal
func HandlerReload(reload func(s os.Signal)) {
go func() {
sch := make(chan os.Signal, 1)
signal.Notify(sch, syscall.SIGHUP)
for s := range sch {
reload(s)
}
}()
}