Why timeout instead of just detect blocking channels? Just to give them a chance to receive?