blob: 7ad90a1b56f7def5e86af5b710339de8c8bcc88c [file] [log] [blame]
/******************************************************
# MAINTAINER : wongoo
# LICENCE : Apache License 2.0
# EMAIL : gelnyang@163.com
# MOD : 2019-06-11
******************************************************/
package util
import (
"os"
"os/signal"
"syscall"
)
type Closer interface {
Close()
}
func WaitCloseSignals(closer Closer) {
signals := make(chan os.Signal, 1)
signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
<-signals
closer.Close()
}