You can simply close a channel to broadcast to all listeners. They'll receive (nil, false) rather than (<value>, true). This has the added benefit of not buffering values in the channels indefinitely until GC.