diff --git a/eth/filters/api.go b/eth/filters/api.go index 30d7b71c31..afc5f8e4be 100644 --- a/eth/filters/api.go +++ b/eth/filters/api.go @@ -111,6 +111,7 @@ func (api *PublicFilterAPI) NewPendingTransactionFilter() rpc.ID { api.filtersMu.Lock() api.filters[pendingTxSub.ID] = &filter{typ: PendingTransactionsSubscription, deadline: time.NewTimer(deadline), hashes: make([]common.Hash, 0), s: pendingTxSub} api.filtersMu.Unlock() + defer api.filters[pendingTxSub.ID].deadline.Stop() go func() { for { @@ -181,7 +182,7 @@ func (api *PublicFilterAPI) NewBlockFilter() rpc.ID { api.filtersMu.Lock() api.filters[headerSub.ID] = &filter{typ: BlocksSubscription, deadline: time.NewTimer(deadline), hashes: make([]common.Hash, 0), s: headerSub} api.filtersMu.Unlock() - + defer api.filters[headerSub.ID].deadline.Stop() go func() { for { select { @@ -298,6 +299,7 @@ func (api *PublicFilterAPI) NewFilter(crit FilterCriteria) (rpc.ID, error) { api.filtersMu.Lock() api.filters[logsSub.ID] = &filter{typ: LogsSubscription, crit: crit, deadline: time.NewTimer(deadline), logs: make([]*types.Log, 0), s: logsSub} api.filtersMu.Unlock() + defer api.filters[logsSub.ID].deadline.Stop() go func() { for {