mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-18 18:02:24 +00:00
eth/filter: check nil pointer when unsubscribe
This commit is contained in:
parent
16f3c31773
commit
cf133fed7d
1 changed files with 18 additions and 6 deletions
|
|
@ -428,12 +428,24 @@ func (es *EventSystem) eventLoop() {
|
||||||
chainEvSub = es.backend.SubscribeChainEvent(chainEvCh)
|
chainEvSub = es.backend.SubscribeChainEvent(chainEvCh)
|
||||||
)
|
)
|
||||||
|
|
||||||
// Unsubscribe all events
|
defer func() {
|
||||||
defer sub.Unsubscribe()
|
// Unsubscribe all events
|
||||||
defer txSub.Unsubscribe()
|
if sub != nil {
|
||||||
defer rmLogsSub.Unsubscribe()
|
sub.Unsubscribe()
|
||||||
defer logsSub.Unsubscribe()
|
}
|
||||||
defer chainEvSub.Unsubscribe()
|
if txSub != nil {
|
||||||
|
txSub.Unsubscribe()
|
||||||
|
}
|
||||||
|
if rmLogsSub != nil {
|
||||||
|
rmLogsSub.Unsubscribe()
|
||||||
|
}
|
||||||
|
if logsSub != nil {
|
||||||
|
logsSub.Unsubscribe()
|
||||||
|
}
|
||||||
|
if chainEvSub != nil {
|
||||||
|
chainEvSub.Unsubscribe()
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
for i := UnknownSubscription; i < LastIndexSubscription; i++ {
|
for i := UnknownSubscription; i < LastIndexSubscription; i++ {
|
||||||
index[i] = make(map[rpc.ID]*subscription)
|
index[i] = make(map[rpc.ID]*subscription)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue