plugin/ready: fix starts and restarts (#2814)

Add OnRestartFailed to the ready plugin and some various cleanups.

Document slightly better how things are supposed to work with multiple
`ready`'s in the multiple Server Blocks.

All manually tested with this Corefile:
~~~
. {
    log
    ready
}

example.org {
    log
    chaos
    ready
}
~~~
And then `kill -SIGUSR1` and curling the ready endpoint. This works
well, the FailedReload is triggered by adding a syntax error in the
Corefile.

See #2659

Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
Miek Gieben 2019-06-09 08:10:15 +01:00 committed by GitHub
parent bd83f74deb
commit a1c97f82a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 23 deletions

View file

@ -30,10 +30,6 @@ type ready struct {
}
func (rd *ready) onStartup() error {
if rd.Addr == "" {
rd.Addr = defAddr
}
ln, err := net.Listen("tcp", rd.Addr)
if err != nil {
return err
@ -62,8 +58,6 @@ func (rd *ready) onStartup() error {
return nil
}
func (rd *ready) onRestart() error { return rd.onFinalShutdown() }
func (rd *ready) onFinalShutdown() error {
rd.Lock()
defer rd.Unlock()
@ -77,5 +71,3 @@ func (rd *ready) onFinalShutdown() error {
rd.done = false
return nil
}
const defAddr = ":8181"