From dd682c92b59f556d548031dbaaf3ea0ea5a6f269 Mon Sep 17 00:00:00 2001 From: Matej Bukovinski Date: Mon, 24 Mar 2014 20:14:18 +0100 Subject: [PATCH] Performing cache callbacks from the ioQueue asynchronously. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - more appropriate than dispatch_main_sync_safe, since we’ll always be on the ioQueue when calling - prevents deadlock situation described in #625 --- SDWebImage/SDImageCache.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SDWebImage/SDImageCache.m b/SDWebImage/SDImageCache.m index 57778cf..0446847 100644 --- a/SDWebImage/SDImageCache.m +++ b/SDWebImage/SDImageCache.m @@ -296,7 +296,7 @@ BOOL ImageDataHasPNGPreffix(NSData *data) { [self.memCache setObject:diskImage forKey:key cost:cost]; } - dispatch_main_sync_safe(^{ + dispatch_async(dispatch_get_main_queue(), ^{ doneBlock(diskImage, SDImageCacheTypeDisk); }); } @@ -349,7 +349,7 @@ BOOL ImageDataHasPNGPreffix(NSData *data) { error:NULL]; if (completion) { - dispatch_main_sync_safe(^{ + dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); } @@ -486,7 +486,7 @@ BOOL ImageDataHasPNGPreffix(NSData *data) { } if (completionBlock) { - dispatch_main_sync_safe(^{ + dispatch_async(dispatch_get_main_queue(), ^{ completionBlock(fileCount, totalSize); }); }