forked from cerc-io/plugeth
p2p/discover: fix leaked goroutine in data expiration
This commit is contained in:
parent
c6069a627c
commit
afa3c72c40
@ -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
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user