fix regenHandler shutdown.

This fixes a case where queueRegenEvent blocks
indefinitely in regenHandler when template generator is shuting down.
This commit is contained in:
Donald Adu-Poku 2020-01-27 11:29:56 +00:00 committed by Dave Collins
parent e3547d0822
commit fe0302d8ff

View File

@ -3127,7 +3127,12 @@ func (g *BgBlkTmplGenerator) regenHandler(ctx context.Context) {
if err != nil {
g.setCurrentTemplate(nil, turUnknown, err)
} else {
g.queueRegenEvent <- regenEvent{rtBlockConnected, tipBlock}
select {
case <-ctx.Done():
g.wg.Done()
return
case g.queueRegenEvent <- regenEvent{rtBlockConnected, tipBlock}:
}
}
state := makeRegenHandlerState()