mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-14 13:51:21 +00:00
cmn: fix race
This commit is contained in:
@ -102,14 +102,14 @@ func NewRepeatTimerWithTicker(name string, ticker Ticker) *RepeatTimer {
|
|||||||
name: name,
|
name: name,
|
||||||
}
|
}
|
||||||
t.wg.Add(1)
|
t.wg.Add(1)
|
||||||
go t.fireRoutine(t.ticker)
|
go t.fireRoutine(t.ticker.Chan())
|
||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *RepeatTimer) fireRoutine(ticker Ticker) {
|
func (t *RepeatTimer) fireRoutine(ch <-chan time.Time) {
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case t_ := <-ticker.Chan():
|
case t_ := <-ch:
|
||||||
t.Ch <- t_
|
t.Ch <- t_
|
||||||
case <-t.quit:
|
case <-t.quit:
|
||||||
// needed so we know when we can reset t.quit
|
// needed so we know when we can reset t.quit
|
||||||
@ -129,7 +129,7 @@ func (t *RepeatTimer) Reset() {
|
|||||||
t.ticker.Reset()
|
t.ticker.Reset()
|
||||||
t.quit = make(chan struct{})
|
t.quit = make(chan struct{})
|
||||||
t.wg.Add(1)
|
t.wg.Add(1)
|
||||||
go t.fireRoutine(t.ticker)
|
go t.fireRoutine(t.ticker.Chan())
|
||||||
}
|
}
|
||||||
|
|
||||||
// For ease of .Stop()'ing services before .Start()'ing them,
|
// For ease of .Stop()'ing services before .Start()'ing them,
|
||||||
|
Reference in New Issue
Block a user