AvisoNovate/rook — pull request #34 by rkneufeld (2014-12-11 19:35:39+00:00)
Title: Correct timeout behavior

Bit of an interesting race condition here. Previously, when we completed
a response, we would also close the timeout channel. Because of how
timeouts are implemented, it is possible for one timeout to be shared
across multiple 'timeout' calls. As a result, if two requests came in
very close together, one could force an early timeout in the other, by
closing its timeout channel.

I've corrected this behavior by removing the erroneous close.
Separately, I also changed from two parallel takes, to a single go +
alt!.