Revert "Fixup: make signal handlers a bit simpler."
This commit is contained in:
parent
ecb66f76b0
commit
3ae086fff2
|
@ -554,19 +554,31 @@ func run() int {
|
||||||
}()
|
}()
|
||||||
|
|
||||||
var (
|
var (
|
||||||
hup = make(chan os.Signal, 1)
|
hup = make(chan os.Signal, 1)
|
||||||
term = make(chan os.Signal, 1)
|
hupReady = make(chan bool)
|
||||||
|
term = make(chan os.Signal, 1)
|
||||||
)
|
)
|
||||||
signal.Notify(hup, syscall.SIGHUP)
|
signal.Notify(hup, syscall.SIGHUP)
|
||||||
signal.Notify(term, os.Interrupt, syscall.SIGTERM)
|
signal.Notify(term, os.Interrupt, syscall.SIGTERM)
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
<-hupReady
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-hup:
|
||||||
|
// ignore error, already logged in `reload()`
|
||||||
|
_ = configCoordinator.Reload()
|
||||||
|
case errc := <-webReload:
|
||||||
|
errc <- configCoordinator.Reload()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
// Wait for reload or termination signals.
|
||||||
|
close(hupReady) // Unblock SIGHUP handler.
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-hup:
|
|
||||||
// ignore error, already logged in `reload()`
|
|
||||||
_ = configCoordinator.Reload()
|
|
||||||
case errc := <-webReload:
|
|
||||||
errc <- configCoordinator.Reload()
|
|
||||||
case <-term:
|
case <-term:
|
||||||
level.Info(logger).Log("msg", "Received SIGTERM, exiting gracefully...")
|
level.Info(logger).Log("msg", "Received SIGTERM, exiting gracefully...")
|
||||||
return 0
|
return 0
|
||||||
|
|
Loading…
Reference in New Issue