in ctxtool/channel.go [31:33]
func WithChannel(parent canceller, ch <-chan struct{}) (context.Context, context.CancelFunc) { return MergeCancellation(parent, chanCanceller(ch)) }