Commit message:
content/blog/pipelines: fix explicit cancellation example
The output goroutine in merge had an empty <-done case body, so
receiving a cancellation signal would silently fall through to the
next iteration of the for-range loop. The goroutine kept trying to
forward values from c instead of exiting, leaving senders blocked
when only one done value was available.
Add a labeled break so receiving from done exits both the select
and the outer for, mirroring the return statement used in the close
example (sqdone3.go).
Also bump gen(2, 3) to gen(2, 3, 5) so the counting cancellation
example actually exercises both done sends. With only two inputs,
at most one sender ends up blocked, and the second cancellation is
unused.
Fixes golang/go#78277