Fix that the downloader operation may not call the completion block in race condition, which the operation we get is finished but not been removed from the operation array.
This commit is contained in:
parent
5062a7653e
commit
48acb8e423
|
@ -275,7 +275,8 @@
|
|||
|
||||
LOCK(self.operationsLock);
|
||||
SDWebImageDownloaderOperation *operation = [self.URLOperations objectForKey:url];
|
||||
if (!operation) {
|
||||
// There is a case that the operation may be marked as finished, but not been removed from `self.URLOperations`.
|
||||
if (!operation || operation.isFinished) {
|
||||
operation = createCallback();
|
||||
__weak typeof(self) wself = self;
|
||||
operation.completionBlock = ^{
|
||||
|
|
Loading…
Reference in New Issue