|
@@ -54,12 +54,17 @@ func (w *ChanWorker) closeWait() {
|
|
|
go func(w *ChanWorker) {
|
|
|
defer utils.DefaultGoroutineRecover(nil, `chan池关闭`)
|
|
|
var c chan os.Signal
|
|
|
+ var s os.Signal
|
|
|
c = make(chan os.Signal, 1)
|
|
|
signal.Notify(c, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
|
|
|
for {
|
|
|
- select {
|
|
|
- case <-c:
|
|
|
+ s = <-c
|
|
|
+ switch s {
|
|
|
+ case syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT:
|
|
|
w.quit <- true
|
|
|
+ return
|
|
|
+ default:
|
|
|
+ return
|
|
|
}
|
|
|
}
|
|
|
}(w)
|