From 680e6bd5c3f1104c1d304171b5e5f78e518b3712 Mon Sep 17 00:00:00 2001 From: Pat Moroney Date: Tue, 24 Oct 2017 10:34:16 -0600 Subject: [PATCH] move ReadHosts out of the lock --- plugin/hosts/hostsfile.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugin/hosts/hostsfile.go b/plugin/hosts/hostsfile.go index d6a5969ab..ca867e203 100644 --- a/plugin/hosts/hostsfile.go +++ b/plugin/hosts/hostsfile.go @@ -161,9 +161,9 @@ func ipVersion(s string) int { // LookupStaticHostV4 looks up the IPv4 addresses for the given host from the hosts file. func (h *Hostsfile) LookupStaticHostV4(host string) []net.IP { + h.ReadHosts() h.RLock() defer h.RUnlock() - h.ReadHosts() if len(h.byNameV4) != 0 { if ips, ok := h.byNameV4[absDomainName(host)]; ok { ipsCp := make([]net.IP, len(ips)) @@ -176,9 +176,9 @@ func (h *Hostsfile) LookupStaticHostV4(host string) []net.IP { // LookupStaticHostV6 looks up the IPv6 addresses for the given host from the hosts file. func (h *Hostsfile) LookupStaticHostV6(host string) []net.IP { + h.ReadHosts() h.RLock() defer h.RUnlock() - h.ReadHosts() if len(h.byNameV6) != 0 { if ips, ok := h.byNameV6[absDomainName(host)]; ok { ipsCp := make([]net.IP, len(ips)) @@ -191,9 +191,9 @@ func (h *Hostsfile) LookupStaticHostV6(host string) []net.IP { // LookupStaticAddr looks up the hosts for the given address from the hosts file. func (h *Hostsfile) LookupStaticAddr(addr string) []string { + h.ReadHosts() h.RLock() defer h.RUnlock() - h.ReadHosts() addr = parseLiteralIP(addr).String() if addr == "" { return nil