Browse Source

Barrier flag for fetch load accessing

onevcat 8 years ago
parent
commit
577fff0774
1 changed files with 2 additions and 2 deletions
  1. 2 2
      Sources/ImageDownloader.swift

+ 2 - 2
Sources/ImageDownloader.swift

@@ -256,7 +256,7 @@ open class ImageDownloader {
     
     func fetchLoad(for url: URL) -> ImageFetchLoad? {
         var fetchLoad: ImageFetchLoad?
-        barrierQueue.sync { fetchLoad = fetchLoads[url] }
+        barrierQueue.sync(flags: .barrier) { fetchLoad = fetchLoads[url] }
         return fetchLoad
     }
     
@@ -349,7 +349,7 @@ extension ImageDownloader {
     }
     
     func cancelDownloadingTask(_ task: RetrieveImageDownloadTask) {
-        barrierQueue.sync {
+        barrierQueue.sync(flags: .barrier) {
             if let URL = task.internalTask.originalRequest?.url, let imageFetchLoad = self.fetchLoads[URL] {
                 imageFetchLoad.downloadTaskCount -= 1
                 if imageFetchLoad.downloadTaskCount == 0 {