mirror of
https://github.com/strukturag/nextcloud-spreed-signaling
synced 2024-05-17 04:56:33 +02:00
Remove unnecessary state variable.
This commit is contained in:
parent
29b0b06f6d
commit
45be0ad2fd
|
@ -43,8 +43,7 @@ const (
|
||||||
type DnsMonitorCallback = func(entry *DnsMonitorEntry, all []net.IP, add []net.IP, keep []net.IP, remove []net.IP)
|
type DnsMonitorCallback = func(entry *DnsMonitorEntry, all []net.IP, add []net.IP, keep []net.IP, remove []net.IP)
|
||||||
|
|
||||||
type DnsMonitorEntry struct {
|
type DnsMonitorEntry struct {
|
||||||
removing atomic.Bool
|
entry atomic.Pointer[dnsMonitorEntry]
|
||||||
entry *dnsMonitorEntry
|
|
||||||
url string
|
url string
|
||||||
callback DnsMonitorCallback
|
callback DnsMonitorCallback
|
||||||
}
|
}
|
||||||
|
@ -222,14 +221,15 @@ func (m *DnsMonitor) Add(target string, callback DnsMonitorCallback) (*DnsMonito
|
||||||
}
|
}
|
||||||
m.hostnames[hostname] = entry
|
m.hostnames[hostname] = entry
|
||||||
}
|
}
|
||||||
e.entry = entry
|
e.entry.Store(entry)
|
||||||
entry.addEntry(e)
|
entry.addEntry(e)
|
||||||
m.cond.Signal()
|
m.cond.Signal()
|
||||||
return e, nil
|
return e, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *DnsMonitor) Remove(entry *DnsMonitorEntry) {
|
func (m *DnsMonitor) Remove(entry *DnsMonitorEntry) {
|
||||||
if !entry.removing.CompareAndSwap(false, true) {
|
oldEntry := entry.entry.Swap(nil)
|
||||||
|
if oldEntry == nil {
|
||||||
// Already removed.
|
// Already removed.
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -247,16 +247,11 @@ func (m *DnsMonitor) Remove(entry *DnsMonitorEntry) {
|
||||||
}
|
}
|
||||||
defer m.mu.Unlock()
|
defer m.mu.Unlock()
|
||||||
|
|
||||||
if entry.entry == nil {
|
e, found := m.hostnames[oldEntry.hostname]
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
e, found := m.hostnames[entry.entry.hostname]
|
|
||||||
if !found {
|
if !found {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
entry.entry = nil
|
|
||||||
if e.removeEntry(entry) {
|
if e.removeEntry(entry) {
|
||||||
delete(m.hostnames, e.hostname)
|
delete(m.hostnames, e.hostname)
|
||||||
}
|
}
|
||||||
|
@ -273,7 +268,7 @@ func (m *DnsMonitor) clearRemoved() {
|
||||||
for hostname, entry := range m.hostnames {
|
for hostname, entry := range m.hostnames {
|
||||||
deleted := false
|
deleted := false
|
||||||
for e := range entry.entries {
|
for e := range entry.entries {
|
||||||
if e.removing.Load() {
|
if e.entry.Load() == nil {
|
||||||
delete(entry.entries, e)
|
delete(entry.entries, e)
|
||||||
deleted = true
|
deleted = true
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue