From a68e356596cd77fde3e91961b04c35a6ab9b1fd1 Mon Sep 17 00:00:00 2001 From: Sam Kleinman Date: Thu, 17 Mar 2022 16:27:20 -0400 Subject: [PATCH] consensus: avoid extra close channel (#8144) Saw this in a test panic, doesn't seem neccessary. --- internal/consensus/state.go | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/internal/consensus/state.go b/internal/consensus/state.go index 4f0f2c680..00519a884 100644 --- a/internal/consensus/state.go +++ b/internal/consensus/state.go @@ -171,9 +171,6 @@ type State struct { doPrevote func(ctx context.Context, height int64, round int32) setProposal func(proposal *types.Proposal, t time.Time) error - // closed when we finish shutting down - done chan struct{} - // synchronous pubsub between consensus state and reactor. // state only emits EventNewRoundStep, EventValidBlock, and EventVote evsw tmevents.EventSwitch @@ -213,7 +210,6 @@ func NewState( internalMsgQueue: make(chan msgInfo, msgQueueSize), timeoutTicker: NewTimeoutTicker(logger), statsMsgQueue: make(chan msgInfo, msgQueueSize), - done: make(chan struct{}), doWALCatchup: true, wal: nilWAL{}, evpool: evpool, @@ -524,14 +520,6 @@ func (cs *State) OnStop() { // WAL is stopped in receiveRoutine. } -// Wait waits for the the main routine to return. -// NOTE: be sure to Stop() the event switch and drain -// any event channels or this may deadlock -func (cs *State) Wait() { - cs.evsw.Wait() - <-cs.done -} - // OpenWAL opens a file to log all consensus messages and timeouts for // deterministic accountability. func (cs *State) OpenWAL(ctx context.Context, walFile string) (WAL, error) { @@ -864,7 +852,6 @@ func (cs *State) receiveRoutine(ctx context.Context, maxSteps int) { // close wal now that we're done writing to it cs.wal.Stop() cs.wal.Wait() - close(cs.done) } defer func() {