Skip to content

Commit 7e3ec3d

Browse files
author
Dan Federman
committed
Distributing all pending logs should have higher QOS
1 parent 19c8d3c commit 7e3ec3d

File tree

1 file changed

+28
-5
lines changed

1 file changed

+28
-5
lines changed

Logging/ARKLogDistributor.m

+28-5
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,7 @@ - (instancetype)init;
7575
_logDistributingQueue.name = [NSString stringWithFormat:@"%@ Log Distributing Queue", self];
7676
_logDistributingQueue.maxConcurrentOperationCount = 1;
7777

78-
#ifdef __IPHONE_8_0
79-
if ([_logDistributingQueue respondsToSelector:@selector(setQualityOfService:)] /* iOS 8 or later */) {
80-
_logDistributingQueue.qualityOfService = NSQualityOfServiceBackground;
81-
}
82-
#endif
78+
[self _setDistributionQualityOfServiceBackground];
8379

8480
_logObservers = [NSMutableArray new];
8581

@@ -191,8 +187,10 @@ - (void)distributeAllPendingLogsWithCompletionHandler:(dispatch_block_t)completi
191187
{
192188
ARKCheckCondition(completionHandler != NULL, , @"Must provide a completion handler!");
193189

190+
[self _setDistributionQualityOfServiceUserInitiated];
194191
[self.logDistributingQueue addOperationWithBlock:^{
195192
[[NSOperationQueue mainQueue] addOperationWithBlock:completionHandler];
193+
[self _setDistributionQualityOfServiceBackground];
196194
}];
197195
}
198196

@@ -284,4 +282,29 @@ - (void)_logMessage_inLogDistributingQueue:(ARKLogMessage *)logMessage;
284282
}
285283
}
286284

285+
- (void)_setDistributionQualityOfServiceUserInitiated;
286+
{
287+
#ifdef __IPHONE_8_0
288+
[self _setDistributionQualityOfService:NSQualityOfServiceUserInitiated];
289+
#endif
290+
}
291+
292+
- (void)_setDistributionQualityOfServiceBackground;
293+
{
294+
#ifdef __IPHONE_8_0
295+
[self _setDistributionQualityOfService:NSQualityOfServiceBackground];
296+
#endif
297+
}
298+
299+
#ifdef __IPHONE_8_0
300+
301+
- (void)_setDistributionQualityOfService:(NSQualityOfService)qualityOfService;
302+
{
303+
if ([self.logDistributingQueue respondsToSelector:@selector(setQualityOfService:)] /* iOS 8 or later */) {
304+
self.logDistributingQueue.qualityOfService = qualityOfService;
305+
}
306+
}
307+
308+
#endif
309+
287310
@end

0 commit comments

Comments
 (0)