security: check for channel closures to prevent busy-loops.
Move notice observer before channel send.
This commit is contained in:
@@ -55,21 +55,24 @@ func (h *NoticeHandler) route() {
|
||||
select {
|
||||
case <-h.ctx.Done():
|
||||
return
|
||||
case msg := <-h.inbox:
|
||||
case msg, ok := <-h.inbox:
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
message, err := envelope.FindNotice(msg.Data)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
now := time.Now()
|
||||
h.envoy.Observer().Record(msg.URL, NoticeReceived{
|
||||
Message: message,
|
||||
At: now,
|
||||
})
|
||||
h.notices <- Notice{
|
||||
Peer: msg.URL,
|
||||
Message: message,
|
||||
Timestamp: now,
|
||||
}
|
||||
h.envoy.Observer().Record(msg.URL, NoticeReceived{
|
||||
Message: message,
|
||||
At: now,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user