serf: use a goto inside of the channel loop to handle failure cases