Avoid blocking when holding account lock.

Signed-off-by: Matthias Hanel <mh@synadia.com>
This commit is contained in:
Matthias Hanel
2020-09-29 13:15:45 -04:00
parent d343ba78bc
commit dcb1f6ff01

View File

@@ -1185,7 +1185,14 @@ func (s *Server) sendAccConnsUpdate(a *Account, subj ...string) {
}
}
for _, sub := range subj {
sendQ <- &pubMsg{nil, sub, _EMPTY_, &m.Server, &m, false}
msg := &pubMsg{nil, sub, _EMPTY_, &m.Server, &m, false}
select {
case sendQ <- msg:
default:
a.mu.Unlock()
sendQ <- msg
a.mu.Lock()
}
}
a.mu.Unlock()
s.mu.Lock()