Rework queue iteration to use a while loop and maintain a count of dequeued requests to ensure finite iteration. refs #164

This commit is contained in:
Blake Watters
2011-06-28 19:20:17 -04:00
parent 1cfa273224
commit 8fe8e5cc75

View File

@@ -167,9 +167,11 @@ static const NSTimeInterval kFlushDelay = 0.3;
_queueTimer = nil;
NSUInteger count = [_requests count];
for (NSUInteger index = 0; index < count; index++) {
RKRequest* request = [_requests objectAtIndex:index];
NSUInteger initialCount = [_requests count];
NSUInteger requestsDequeued = 0;
while ([_requests count] > 0 && requestsDequeued < initialCount) {
RKRequest* request = [_requests objectAtIndex:0];
requestsDequeued++;
RKLogTrace(@"Processing request %@ in queue %@", request, self);
if ([request isLoading]) {