File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff 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];
You can’t perform that action at this time.
0 commit comments