Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d069689

Browse files
committed
Use OS X 10.10 QoS
1 parent 1e065c7 commit d069689

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

imageoptim/FilesQueue.m

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ - (instancetype)initWithCPUs:(NSInteger)cpus dirs:(NSInteger)dirs files:(NSInteg
1717
self = [super init];
1818
if (self) {
1919
self.defaults = defaults;
20+
BOOL lowPriority = [defaults boolForKey:@"RunLowPriority"];
2021

2122
cpuQueue = [NSOperationQueue new];
2223
[cpuQueue setMaxConcurrentOperationCount:cpus?cpus:NSOperationQueueDefaultMaxConcurrentOperationCount];
@@ -26,6 +27,12 @@ - (instancetype)initWithCPUs:(NSInteger)cpus dirs:(NSInteger)dirs files:(NSInteg
2627

2728
fileIOQueue = [NSOperationQueue new];
2829
[fileIOQueue setMaxConcurrentOperationCount:fileops?fileops:2];
30+
31+
if ([cpuQueue respondsToSelector:@selector(setQualityOfService:)]) {
32+
cpuQueue.qualityOfService = lowPriority ? NSQualityOfServiceUtility : NSQualityOfServiceUserInitiated;
33+
fileIOQueue.qualityOfService = lowPriority ? NSQualityOfServiceUtility : NSQualityOfServiceUserInitiated;
34+
dirWorkerQueue.qualityOfService = NSQualityOfServiceUserInitiated;
35+
}
2936
}
3037
return self;
3138
}

imageoptim/Workers/CommandWorker.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ -(void)taskWithPath:(NSString *)path arguments:(NSArray *)arguments;
4646
{
4747
task = [NSTask new];
4848

49+
if ([task respondsToSelector:@selector(setQualityOfService:)]) {
50+
task.qualityOfService = NSQualityOfServiceUtility;
51+
}
52+
4953
IODebug("Launching %@ %@",path,[arguments componentsJoinedByString:@" "]);
5054

5155
[task setLaunchPath: path];

0 commit comments

Comments
 (0)