Skip to content

Commit 433a2ab

Browse files
committed
alternate implementation of grabbing node.ctx.Done() for algorand#3919
1 parent 704e0b4 commit 433a2ab

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

node/node.go

+7-4
Original file line numberDiff line numberDiff line change
@@ -784,16 +784,17 @@ func ensureParticipationDB(genesisDir string, log logging.Logger) (account.Parti
784784
// Reload participation keys from disk periodically
785785
func (node *AlgorandFullNode) checkForParticipationKeys() {
786786
defer node.monitoringRoutinesWaitGroup.Done()
787+
done := node.ctx.Done()
787788
ticker := time.NewTicker(node.config.ParticipationKeysRefreshInterval)
789+
defer ticker.Stop()
788790
for {
789791
select {
790792
case <-ticker.C:
791793
err := node.loadParticipationKeys()
792794
if err != nil {
793795
node.log.Errorf("Could not refresh participation keys: %v", err)
794796
}
795-
case <-node.ctx.Done():
796-
ticker.Stop()
797+
case <-done:
797798
return
798799
}
799800
}
@@ -1034,13 +1035,14 @@ var txPoolGuage = metrics.MakeGauge(metrics.MetricName{Name: "algod_tx_pool_coun
10341035

10351036
func (node *AlgorandFullNode) txPoolGaugeThread() {
10361037
defer node.monitoringRoutinesWaitGroup.Done()
1038+
done := node.ctx.Done()
10371039
ticker := time.NewTicker(10 * time.Second)
10381040
defer ticker.Stop()
10391041
for true {
10401042
select {
10411043
case <-ticker.C:
10421044
txPoolGuage.Set(float64(node.transactionPool.PendingCount()), nil)
1043-
case <-node.ctx.Done():
1045+
case <-done:
10441046
return
10451047
}
10461048
}
@@ -1072,10 +1074,11 @@ func (node *AlgorandFullNode) OnNewBlock(block bookkeeping.Block, delta ledgerco
10721074
// It runs in a separate thread so that, during catchup, we
10731075
// don't have to delete key for each block we received.
10741076
func (node *AlgorandFullNode) oldKeyDeletionThread() {
1077+
done := node.ctx.Done()
10751078
defer node.monitoringRoutinesWaitGroup.Done()
10761079
for {
10771080
select {
1078-
case <-node.ctx.Done():
1081+
case <-done:
10791082
return
10801083
case <-node.oldKeyDeletionNotify:
10811084
}

0 commit comments

Comments
 (0)