diff options
Diffstat (limited to 'core/restart.go')
-rw-r--r-- | core/restart.go | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/core/restart.go b/core/restart.go index 82567d35c..c13a8fe7c 100644 --- a/core/restart.go +++ b/core/restart.go @@ -18,32 +18,32 @@ import ( ) func init() { - gob.Register(CaddyfileInput{}) + gob.Register(CorefileInput{}) } // Restart restarts the entire application; gracefully with zero // downtime if on a POSIX-compatible system, or forcefully if on // Windows but with imperceptibly-short downtime. // -// The restarted application will use newCaddyfile as its input -// configuration. If newCaddyfile is nil, the current (existing) -// Caddyfile configuration will be used. +// The restarted application will use newCorefile as its input +// configuration. If newCorefile is nil, the current (existing) +// Corefile configuration will be used. // // Note: The process must exist in the same place on the disk in // order for this to work. Thus, multiple graceful restarts don't // work if executing with `go run`, since the binary is cleaned up // when `go run` sees the initial parent process exit. -func Restart(newCaddyfile Input) error { +func Restart(newCorefile Input) error { log.Println("[INFO] Restarting") - if newCaddyfile == nil { - caddyfileMu.Lock() - newCaddyfile = caddyfile - caddyfileMu.Unlock() + if newCorefile == nil { + corefileMu.Lock() + newCorefile = corefile + corefileMu.Unlock() } - // Get certificates for any new hosts in the new Caddyfile without causing downtime - err := getCertsForNewCaddyfile(newCaddyfile) + // Get certificates for any new hosts in the new Corefile without causing downtime + err := getCertsForNewCorefile(newCorefile) if err != nil { return errors.New("TLS preload: " + err.Error()) } @@ -53,16 +53,16 @@ func Restart(newCaddyfile Input) error { } // Tell the child that it's a restart - os.Setenv("CADDY_RESTART", "true") + os.Setenv("COREDNS_RESTART", "true") // Prepare our payload to the child process - cdyfileGob := caddyfileGob{ + crfileGob := corefileGob{ ListenerFds: make(map[string]uintptr), - Caddyfile: newCaddyfile, + Corefile: newCorefile, OnDemandTLSCertsIssued: atomic.LoadInt32(https.OnDemandIssuedCount), } - // Prepare a pipe to the fork's stdin so it can get the Caddyfile + // Prepare a pipe to the fork's stdin so it can get the Corefile rpipe, wpipe, err := os.Pipe() if err != nil { return err @@ -83,7 +83,7 @@ func Restart(newCaddyfile Input) error { serversMu.Lock() for i, s := range servers { extraFiles = append(extraFiles, s.ListenerFd()) - cdyfileGob.ListenerFds[s.Addr] = uintptr(4 + i) // 4 fds come before any of the listeners + crfileGob.ListenerFds[s.Addr] = uintptr(4 + i) // 4 fds come before any of the listeners } serversMu.Unlock() @@ -105,8 +105,8 @@ func Restart(newCaddyfile Input) error { f.Close() } - // Feed Caddyfile to the child - err = gob.NewEncoder(wpipe).Encode(cdyfileGob) + // Feed Corefile to the child + err = gob.NewEncoder(wpipe).Encode(crfileGob) if err != nil { return err } @@ -127,12 +127,12 @@ func Restart(newCaddyfile Input) error { return Stop() } -func getCertsForNewCaddyfile(newCaddyfile Input) error { - // parse the new caddyfile only up to (and including) TLS +func getCertsForNewCorefile(newCorefile Input) error { + // parse the new corefile only up to (and including) TLS // so we can know what we need to get certs for. - configs, _, _, err := loadConfigsUpToIncludingTLS(path.Base(newCaddyfile.Path()), bytes.NewReader(newCaddyfile.Body())) + configs, _, _, err := loadConfigsUpToIncludingTLS(path.Base(newCorefile.Path()), bytes.NewReader(newCorefile.Body())) if err != nil { - return errors.New("loading Caddyfile: " + err.Error()) + return errors.New("loading Corefile: " + err.Error()) } // first mark the configs that are qualified for managed TLS |