Added upstream propagation of cancel()