> 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