Merge pull request #992 from slingamn/simplify

simplify listener rehash logic
This commit is contained in:
Shivaram Lingamneni 2020-05-07 11:11:58 -07:00 committed by GitHub
commit d1c183777a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 12 deletions

View File

@ -740,19 +740,13 @@ func (server *Server) setupListeners(config *Config) (err error) {
newConfig, stillConfigured := config.Server.trueListeners[addr] newConfig, stillConfigured := config.Server.trueListeners[addr]
if stillConfigured { if stillConfigured {
reloadErr := currentListener.Reload(newConfig) if reloadErr := currentListener.Reload(newConfig); reloadErr == nil {
// attempt to stop and replace the listener if the reload failed logListener(addr, newConfig)
if reloadErr != nil { } else {
// stop the listener; we will attempt to replace it below
currentListener.Stop() currentListener.Stop()
newListener, newErr := NewListener(server, addr, newConfig, config.Server.UnixBindMode) delete(server.listeners, addr)
if newErr == nil {
server.listeners[addr] = newListener
} else {
delete(server.listeners, addr)
return newErr
}
} }
logListener(addr, newConfig)
} else { } else {
currentListener.Stop() currentListener.Stop()
delete(server.listeners, addr) delete(server.listeners, addr)
@ -761,7 +755,8 @@ func (server *Server) setupListeners(config *Config) (err error) {
} }
publicPlaintextListener := "" publicPlaintextListener := ""
// create new listeners that were not previously configured // create new listeners that were not previously configured,
// or that couldn't be reloaded above:
for newAddr, newConfig := range config.Server.trueListeners { for newAddr, newConfig := range config.Server.trueListeners {
if strings.HasPrefix(newAddr, ":") && !newConfig.Tor && !newConfig.STSOnly && newConfig.TLSConfig == nil { if strings.HasPrefix(newAddr, ":") && !newConfig.Tor && !newConfig.STSOnly && newConfig.TLSConfig == nil {
publicPlaintextListener = newAddr publicPlaintextListener = newAddr