go-ethereum/event
Inphi ffc6a0f36e
event: fix Resubscribe deadlock when unsubscribing after inner sub ends (#28359)
A goroutine is used to manage the lifetime of subscriptions managed by
resubscriptions. When the subscription ends with no error, the resub
goroutine ends as well. However, the resub goroutine needs to live
long enough to read from the unsub channel. Otheriwse, an Unsubscribe
call deadlocks when writing to the unsub channel.

This is fixed by adding a buffer to the unsub channel.
2023-10-22 17:37:56 +02:00
..
event_test.go all: remove deprecated uses of math.rand (#26710) 2023-02-16 14:36:58 -05:00
event.go event: initialize maps with known size (#27233) 2023-05-09 15:29:32 -04:00
example_feed_test.go all: update license information 2017-04-14 10:29:00 +02:00
example_scope_test.go all: update license information 2017-04-14 10:29:00 +02:00
example_subscription_test.go all: update license information 2017-04-14 10:29:00 +02:00
example_test.go core, eth, event, miner, xeth: fix event post / subscription race 2015-10-12 16:22:03 +03:00
feed_test.go ethclient,event: replace noarg fmt.Errorf with errors.New (#27334) 2023-05-24 12:39:49 +02:00
feed.go event: move type fixation logic into Feed.init (#27249) 2023-05-30 16:34:32 +02:00
feedof_test.go README, go.mod, event, internal/version: bump min Go to 1.19 (#26803) 2023-03-03 12:24:09 +02:00
feedof.go README, go.mod, event, internal/version: bump min Go to 1.19 (#26803) 2023-03-03 12:24:09 +02:00
multisub_test.go all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
multisub.go all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
subscription_test.go event: fix Resubscribe deadlock when unsubscribing after inner sub ends (#28359) 2023-10-22 17:37:56 +02:00
subscription.go event: fix Resubscribe deadlock when unsubscribing after inner sub ends (#28359) 2023-10-22 17:37:56 +02:00