chore: refactor signal sigterm and sigint (#3632)
This commit is contained in:
@@ -34,14 +34,12 @@ func init() {
|
||||
profiler.Stop()
|
||||
profiler = nil
|
||||
}
|
||||
case syscall.SIGTERM, syscall.SIGINT:
|
||||
select {
|
||||
case <-done:
|
||||
// already closed
|
||||
default:
|
||||
close(done)
|
||||
}
|
||||
gracefulStop(signals)
|
||||
case syscall.SIGTERM:
|
||||
stopOnSignal()
|
||||
gracefulStop(signals, syscall.SIGTERM)
|
||||
case syscall.SIGINT:
|
||||
stopOnSignal()
|
||||
gracefulStop(signals, syscall.SIGINT)
|
||||
default:
|
||||
logx.Error("Got unregistered signal:", v)
|
||||
}
|
||||
@@ -53,3 +51,12 @@ func init() {
|
||||
func Done() <-chan struct{} {
|
||||
return done
|
||||
}
|
||||
|
||||
func stopOnSignal() {
|
||||
select {
|
||||
case <-done:
|
||||
// already closed
|
||||
default:
|
||||
close(done)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user