diff options
Diffstat (limited to 'agreement/cryptoVerifier.go')
-rw-r--r-- | agreement/cryptoVerifier.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/agreement/cryptoVerifier.go b/agreement/cryptoVerifier.go index 0c79496de..4f84ca3ba 100644 --- a/agreement/cryptoVerifier.go +++ b/agreement/cryptoVerifier.go @@ -205,7 +205,14 @@ func (c *poolCryptoVerifier) voteFillWorker(toBundleWait chan<- bundleFuture) { } uv := votereq.message.UnauthenticatedVote - c.voteVerifier.verifyVote(votereq.ctx, c.ledger, uv, votereq.TaskIndex, votereq.message, c.votes.out) + err := c.voteVerifier.verifyVote(votereq.ctx, c.ledger, uv, votereq.TaskIndex, votereq.message, c.votes.out) + if err != nil && c.votes.out != nil { + select { + case c.votes.out <- asyncVerifyVoteResponse{index: votereq.TaskIndex, err: err, cancelled: true}: + default: + c.log.Infof("poolCryptoVerifier.voteFillWorker unable to write failed enqueue response to output channel") + } + } case bundlereq, ok := <-bundlesin: if !ok { bundlesin = nil |