Files
coredns/core/restart_windows.go

32 lines
522 B
Go
Raw Normal View History

2016-03-18 20:57:35 +00:00
package core
import "log"
// Restart restarts CoreDNS forcefully using newCorefile,
// or, if nil, the current/existing Corefile is reused.
func Restart(newCorefile Input) error {
2016-03-18 20:57:35 +00:00
log.Println("[INFO] Restarting")
if newCorefile == nil {
corefileMu.Lock()
newCorefile = corefile
corefileMu.Unlock()
2016-03-18 20:57:35 +00:00
}
wg.Add(1) // barrier so Wait() doesn't unblock
err := Stop()
if err != nil {
return err
}
err = Start(newCorefile)
2016-03-18 20:57:35 +00:00
if err != nil {
return err
}
wg.Done() // take down our barrier
return nil
}