added reload signal

This commit is contained in:
2021-12-03 05:05:28 +01:00
parent 2a45d9d83e
commit f1a7990625

27
main.go
View File

@@ -906,6 +906,9 @@ func main() {
killSignals := make(chan os.Signal, 1) killSignals := make(chan os.Signal, 1)
signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM) signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM)
reloadSignals := make(chan os.Signal, 1)
signal.Notify(reloadSignals, syscall.SIGUSR1)
flag.Parse() flag.Parse()
confStr, err := os.ReadFile(*configFlag) confStr, err := os.ReadFile(*configFlag)
@@ -1062,7 +1065,29 @@ func main() {
} }
} }
<-killSignals killLoop:
for {
select {
case <-killSignals:
break killLoop
case <-reloadSignals:
confStr, err := os.ReadFile(*configFlag)
if err != nil {
log.Fatalf("Unable to open config: %v", err)
}
err = yaml.Unmarshal(confStr, &conf)
if err != nil {
log.Fatalf("Unable to parse config: %v", err)
}
lvl, err := log.ParseLevel(conf.Logging.Level)
if err != nil {
log.Fatalf("Failure setting logging level: %v", err)
}
log.SetLevel(lvl)
}
}
for _, s := range sockets { for _, s := range sockets {
_ = s.Close() _ = s.Close()