Check configuration before reload

This commit is contained in:
世界 2022-08-23 23:22:49 +08:00
parent 1413c5022a
commit 88469d4aaa
No known key found for this signature in database
GPG Key ID: CD109927C34A63C4

View File

@ -79,19 +79,29 @@ func create() (*box.Box, context.CancelFunc, error) {
}
func run() error {
osSignals := make(chan os.Signal, 1)
signal.Notify(osSignals, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP)
for {
instance, cancel, err := create()
if err != nil {
return err
}
runtimeDebug.FreeOSMemory()
osSignals := make(chan os.Signal, 1)
signal.Notify(osSignals, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP)
osSignal := <-osSignals
cancel()
instance.Close()
if osSignal != syscall.SIGHUP {
return nil
for {
osSignal := <-osSignals
if osSignal == syscall.SIGHUP {
err = check()
if err != nil {
log.Error(E.Cause(err, "reload service"))
continue
}
}
cancel()
instance.Close()
if osSignal != syscall.SIGHUP {
return nil
}
break
}
}
}