提交 afa3c72c 编写于 作者: F ferhat elmas

p2p/discover: fix leaked goroutine in data expiration

上级 c6069a62
...@@ -226,14 +226,14 @@ func (db *nodeDB) ensureExpirer() { ...@@ -226,14 +226,14 @@ func (db *nodeDB) ensureExpirer() {
// expirer should be started in a go routine, and is responsible for looping ad // expirer should be started in a go routine, and is responsible for looping ad
// infinitum and dropping stale data from the database. // infinitum and dropping stale data from the database.
func (db *nodeDB) expirer() { func (db *nodeDB) expirer() {
tick := time.Tick(nodeDBCleanupCycle) tick := time.NewTicker(nodeDBCleanupCycle)
defer tick.Stop()
for { for {
select { select {
case <-tick: case <-tick.C:
if err := db.expireNodes(); err != nil { if err := db.expireNodes(); err != nil {
log.Error("Failed to expire nodedb items", "err", err) log.Error("Failed to expire nodedb items", "err", err)
} }
case <-db.quit: case <-db.quit:
return return
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册