summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildstream/_platform/darwin.py7
-rw-r--r--buildstream/_platform/platform.py6
2 files changed, 9 insertions, 4 deletions
diff --git a/buildstream/_platform/darwin.py b/buildstream/_platform/darwin.py
index 7092eb2aa..c4361e897 100644
--- a/buildstream/_platform/darwin.py
+++ b/buildstream/_platform/darwin.py
@@ -41,10 +41,11 @@ class Darwin(Platform):
return True
def get_cpu_count(self, cap=None):
- if cap < os.cpu_count():
- return cap
+ cpu_count = os.cpu_count()
+ if cap is None:
+ return cpu_count
else:
- return os.cpu_count()
+ return min(cpu_count, cap)
def set_resource_limits(self, soft_limit=OPEN_MAX, hard_limit=None):
super().set_resource_limits(soft_limit)
diff --git a/buildstream/_platform/platform.py b/buildstream/_platform/platform.py
index bc6a624c4..d3e4b949a 100644
--- a/buildstream/_platform/platform.py
+++ b/buildstream/_platform/platform.py
@@ -67,7 +67,11 @@ class Platform():
return cls._instance
def get_cpu_count(self, cap=None):
- return min(len(os.sched_getaffinity(0)), cap)
+ cpu_count = len(os.sched_getaffinity(0))
+ if cap is None:
+ return cpu_count
+ else:
+ return min(cpu_count, cap)
##################################################################
# Sandbox functions #