Specify target thread for MPWURLFetchStream #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
MPWURLFetchStream
would always call its targets (including the error target) on whichever threads the underlayingNSURLSession
is running on.This caused thread locking issues in the coalescing while-loop in
-executeRequest:
method: if a request is scheduled on the same thread thatNSURLSession
is running on, this thread would sleep, and so theNSURLSession
would not be able to complete its request, and so the while-loop will run for a significant time (I've seen up to 25 seconds).This pull request offers a solution to this problem.