swarm/network/master: protect SetNextBatch iterator after close (#19147)

This commit is contained in:
Janoš Guljaš
2019-02-21 18:33:49 +01:00
committed by Viktor Trón
parent b9808e392f
commit 836c846812
2 changed files with 15 additions and 0 deletions

View File

@@ -597,6 +597,16 @@ func (r *Registry) runProtocol(p *p2p.Peer, rw p2p.MsgReadWriter) error {
// HandleMsg is the message handler that delegates incoming messages
func (p *Peer) HandleMsg(ctx context.Context, msg interface{}) error {
select {
case <-p.streamer.quit:
log.Trace("message received after the streamer is closed", "peer", p.ID())
// return without an error since streamer is closed and
// no messages should be handled as other subcomponents like
// storage leveldb may be closed
return nil
default:
}
switch msg := msg.(type) {
case *SubscribeMsg: