aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Source/Util/FSTDispatchQueue.m
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/Source/Util/FSTDispatchQueue.m')
-rw-r--r--Firestore/Source/Util/FSTDispatchQueue.m5
1 files changed, 4 insertions, 1 deletions
diff --git a/Firestore/Source/Util/FSTDispatchQueue.m b/Firestore/Source/Util/FSTDispatchQueue.m
index 8c953fe..2c8ee55 100644
--- a/Firestore/Source/Util/FSTDispatchQueue.m
+++ b/Firestore/Source/Util/FSTDispatchQueue.m
@@ -58,7 +58,10 @@ NS_ASSUME_NONNULL_BEGIN
- (void)dispatchAfterDelay:(NSTimeInterval)delay block:(void (^)(void))block {
dispatch_time_t delayNs = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC));
- dispatch_after(delayNs, self.queue, block);
+ dispatch_after(delayNs, self.queue, ^() {
+ // Make sure that we prioritize tasks that are already queued for immediate execution.
+ [self dispatchAsyncAllowingSameQueue:block];
+ });
}
#pragma mark - Private Methods