Fix race condition in next_block_for

If we hit the timeout while not blocked on read, the timeout would
overflow.