Fix panic when nobody waits for a geoip database

This commit is contained in:
Patrick Pacher 2021-08-18 16:33:32 +02:00
parent f428f338b5
commit 65825fe06e
No known key found for this signature in database
GPG key ID: E8CD2DA160925A6D

View file

@ -67,6 +67,9 @@ func (ub *updateBroadcaster) ReplaceDatabase(db *geoIPDB) {
// notifyWaiters notifies and removes all waiters. Must be called // notifyWaiters notifies and removes all waiters. Must be called
// with ub.rw locked. // with ub.rw locked.
func (ub *updateBroadcaster) notifyWaiters() { func (ub *updateBroadcaster) notifyWaiters() {
if ub.waiter == nil {
return
}
waiter := ub.waiter waiter := ub.waiter
ub.waiter = nil ub.waiter = nil
close(waiter) close(waiter)