Don't queue in memory for blacklisted destinations

This commit is contained in:
Neil Alexander 2020-12-07 12:22:24 +00:00
parent 68a3b3e3fa
commit 558bfa8b06
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -84,6 +84,9 @@ func (oq *destinationQueue) sendEvent(event *gomatrixserverlib.HeaderedEvent, re
log.WithError(err).Errorf("failed to associate PDU %q with destination %q", event.EventID(), oq.destination)
return
}
// Check if the destination is blacklisted. If it isn't then wake
// up the queue.
if !oq.statistics.Blacklisted() {
// If there's room in memory to hold the event then add it to the
// list.
oq.pendingMutex.Lock()
@ -94,9 +97,6 @@ func (oq *destinationQueue) sendEvent(event *gomatrixserverlib.HeaderedEvent, re
})
}
oq.pendingMutex.Unlock()
// Check if the destination is blacklisted. If it isn't then wake
// up the queue.
if !oq.statistics.Blacklisted() {
// Wake up the queue if it's asleep.
oq.wakeQueueIfNeeded()
select {