> On Dec 7, 2015, at 17:58 , Rick Mann <rm...@latencyzero.com> wrote:
> 
> 
>> On Dec 7, 2015, at 17:50 , Jens Alfke <j...@mooseyard.com> wrote:
>> 
>> 
>>> On Dec 7, 2015, at 5:06 PM, Rick Mann <rm...@latencyzero.com> wrote:
>>> 
>>> I don't see a good way to do this, though. I don't see any way to be sure 
>>> that all the canceled tasks canceled or completed, because I don't 
>>> necessarily get a call back to tell me each one is canceled. Any of them 
>>> could complete just before or just after I cancel (or at the same time).
>> 
>> If you do the work on the operation queue that the delegates are called on, 
>> there shouldn’t be race conditions like this — you’re essentially doing it 
>> single-threaded just like in the old days of NSURLConnection and runloops. 
>> Just cancel all the tasks for which you haven’t yet gotten a 
>> completion/failure callback.
> 
> Okay, so let's say this happens:
> 
> While I'm in the completion block for download A, download B completes 
> (because more than one was issued simultaneously by iOS, as I assume the case 
> can be). In completion block A, I cancel all the downloads and return. Does B 
> call its completion block, or does it short-circuit that?
> 
> Also, I presume this only works if the queue is a serial queue, but the docs 
> say it doesn't have to be such.

And, the answer is no. My completion block gets called MANY more times after I 
invalidate and cancel the session.

I see no way to handle this without keeping separate state for each set of 
attempts I make.

I've written a feature request, 23796650

-- 
Rick Mann
rm...@latencyzero.com



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list      (Macnetworkprog@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/macnetworkprog/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to