Try using a mutex on your array of requests, when adding and removing them, and only pull a request off the array when you're done with your completion handler or when you have nothing in progress such as when you first start. -- Gary L. Wade (Sent from my iPhone) http://www.garywade.com/
> On Jun 28, 2016, at 1:16 PM, Jim Adams <[email protected]> wrote: > > Unfortunately, with a multi threaded system, I cannot figure out a way to do > that. Ideas appreciated. > > My network calls could come from any thread. I could see putting the request > into a queue, but how to I make the completion handler run on that same queue > so it remains blocked? > >> On Jun 28, 2016, at 4:11 PM, Gary L. Wade <[email protected]> >> wrote: >> >> The simplest way to do what you're asking is to not send another request >> until your completion handler finishes. >> -- >> Gary L. Wade (Sent from my iPhone) >> http://www.garywade.com/ >> >>> On Jun 28, 2016, at 12:52 PM, Jim Adams <[email protected]> wrote: >>> >>> I have an application that has the requirement that the accesses to the >>> server be single threaded, i.e. the second request cannot go through until >>> the first request has completed. I am using NSURLSession and >>> NSURLSessionDataTask. I have set the Maximum Concurrent Host number in the >>> configuration to 1 but I have seen evidence that there are simultaneous >>> requests going up to my servers. >>> >>> Actually I don’t think they are truly simultaneous, just that the >>> completion handler doesn’t finish before the next request goes out. Is >>> there a way to make the next request wait until the completion block is >>> exited? >>> >>> My evidence comes from looking in the server logs. I have 3 servers in AWS >>> behind an ELB. If I am able to get the cookies back from the server before >>> sending the next request then my request will go to the same server that >>> the last request went to. If I don’t wait then then the request goes to a >>> random server. If I watch the logs I can see the requests come in on >>> multiple servers. > _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
