after calling canceled, but before sending on bus, you can close the channels.
Put i in one select: select { case <-done: default: select { case <-done: case bus<-r: } } -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.