Only use the runloop with timeout on iOS 5 (fix #497)
This commit is contained in:
parent
0076bb9a55
commit
03d28fee03
|
@ -70,10 +70,18 @@
|
||||||
}
|
}
|
||||||
[[NSNotificationCenter defaultCenter] postNotificationName:SDWebImageDownloadStartNotification object:self];
|
[[NSNotificationCenter defaultCenter] postNotificationName:SDWebImageDownloadStartNotification object:self];
|
||||||
|
|
||||||
// Make sure to run the runloop in our background thread so it can process downloaded data
|
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_5_1)
|
||||||
// Note: we use a timeout to work around an issue with NSURLConnection cancel under iOS 5
|
{
|
||||||
// not waking up the runloop, leading to dead threads (see https://github.com/rs/SDWebImage/issues/466)
|
// Make sure to run the runloop in our background thread so it can process downloaded data
|
||||||
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 10, false);
|
// Note: we use a timeout to work around an issue with NSURLConnection cancel under iOS 5
|
||||||
|
// not waking up the runloop, leading to dead threads (see https://github.com/rs/SDWebImage/issues/466)
|
||||||
|
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 10, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CFRunLoopRun();
|
||||||
|
}
|
||||||
|
|
||||||
if (!self.isFinished)
|
if (!self.isFinished)
|
||||||
{
|
{
|
||||||
[self.connection cancel];
|
[self.connection cancel];
|
||||||
|
|
Loading…
Reference in New Issue