Tweak order in destinationQueue.next

This commit is contained in:
Neil Alexander 2020-04-03 10:32:47 +01:00
parent f646964e85
commit b15b5c7f0d

View file

@ -112,6 +112,11 @@ func (oq *destinationQueue) next() *gomatrixserverlib.Transaction {
oq.runningMutex.Lock() oq.runningMutex.Lock()
defer oq.runningMutex.Unlock() defer oq.runningMutex.Unlock()
if len(oq.pendingEvents) == 0 && len(oq.pendingEDUs) == 0 && len(oq.pendingInvites) == 0 {
oq.running = false
return nil
}
if len(oq.pendingInvites) > 0 { if len(oq.pendingInvites) > 0 {
for _, inviteReq := range oq.pendingInvites { for _, inviteReq := range oq.pendingInvites {
ev := inviteReq.Event() ev := inviteReq.Event()
@ -131,11 +136,6 @@ func (oq *destinationQueue) next() *gomatrixserverlib.Transaction {
oq.pendingInvites = oq.pendingInvites[:0] oq.pendingInvites = oq.pendingInvites[:0]
} }
if len(oq.pendingEvents) == 0 && len(oq.pendingEDUs) == 0 {
oq.running = false
return nil
}
t := gomatrixserverlib.Transaction{ t := gomatrixserverlib.Transaction{
PDUs: []json.RawMessage{}, PDUs: []json.RawMessage{},
EDUs: []gomatrixserverlib.EDU{}, EDUs: []gomatrixserverlib.EDU{},