Sfoglia il codice sorgente

Merge pull request #1097 from mrjana/resolver

Resolver sockets not flushed on default gw change
Alessandro Boch 9 anni fa
parent
commit
0251123411
2 ha cambiato i file con 8 aggiunte e 0 eliminazioni
  1. 4 0
      libnetwork/endpoint.go
  2. 4 0
      libnetwork/resolver.go

+ 4 - 0
libnetwork/endpoint.go

@@ -477,6 +477,10 @@ func (ep *endpoint) sbJoin(sb *sandbox, options ...EndpointOption) error {
 					ep.Name(), ep.ID(), err)
 			}
 		}
+
+		if sb.resolver != nil {
+			sb.resolver.FlushExtServers()
+		}
 	}
 
 	if !sb.needDefaultGW() {

+ 4 - 0
libnetwork/resolver.go

@@ -158,6 +158,10 @@ func (r *resolver) Start() error {
 
 func (r *resolver) FlushExtServers() {
 	for i := 0; i < maxExtDNS; i++ {
+		if r.extDNSList[i].extConn != nil {
+			r.extDNSList[i].extConn.Close()
+		}
+
 		r.extDNSList[i].extConn = nil
 		r.extDNSList[i].extOnce = sync.Once{}
 	}