diff --git a/events/broadcaster/broadcaster.go b/events/broadcaster/broadcaster.go index 715dfd7..b565953 100644 --- a/events/broadcaster/broadcaster.go +++ b/events/broadcaster/broadcaster.go @@ -91,7 +91,14 @@ func (b *Broadcaster[T]) subscribe(ctx context.Context, ch chan<- T) { return case <-b.closeCh: return - case ch <- <-bufferedCh: + case val := <-bufferedCh: + select { + case <-ctx.Done(): + return + case <-b.closeCh: + return + case ch <- val: + } } } }()