diff --git a/federationsender/queue/queue.go b/federationsender/queue/queue.go index f32ae20fd..8e0e57567 100644 --- a/federationsender/queue/queue.go +++ b/federationsender/queue/queue.go @@ -154,7 +154,7 @@ func (oqs *OutgoingQueues) getQueue(destination gomatrixserverlib.ServerName) *d oqs.queuesMutex.Lock() defer oqs.queuesMutex.Unlock() oq, ok := oqs.queues[destination] - if !ok { + if !ok && oq != nil { destinationQueueTotal.Inc() oq = &destinationQueue{ queues: oqs, @@ -178,8 +178,6 @@ func (oqs *OutgoingQueues) clearQueue(oq *destinationQueue) { oqs.queuesMutex.Lock() defer oqs.queuesMutex.Unlock() - close(oq.notify) - close(oq.interruptBackoff) delete(oqs.queues, oq.destination) destinationQueueTotal.Dec() }