From 52575d0247d5411d26083d4c186d39d8098b916e Mon Sep 17 00:00:00 2001 From: Ainar Garipov Date: Wed, 3 Mar 2021 16:14:23 +0300 Subject: [PATCH] util: imp autohosts --- internal/util/autohosts.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/internal/util/autohosts.go b/internal/util/autohosts.go index ad7825d5..e4cea58c 100644 --- a/internal/util/autohosts.go +++ b/internal/util/autohosts.go @@ -120,14 +120,13 @@ func (a *AutoHosts) Process(host string, qtype uint16) []net.IP { var ipsCopy []net.IP a.lock.RLock() + defer a.lock.RUnlock() if ips, ok := a.table[host]; ok { ipsCopy = make([]net.IP, len(ips)) copy(ipsCopy, ips) } - a.lock.RUnlock() - log.Debug("AutoHosts: answer: %s -> %v", host, ipsCopy) return ipsCopy } @@ -339,10 +338,13 @@ func (a *AutoHosts) updateHosts() { } } - a.lock.Lock() - a.table = table - a.tableReverse = tableRev - a.lock.Unlock() + func() { + a.lock.Lock() + defer a.lock.Unlock() + + a.table = table + a.tableReverse = tableRev + }() a.notify() }