Oops, the cancel_comm channel should be unbuffered.