From 2e9fcce77520644ad08eda84badc48c07879ce11 Mon Sep 17 00:00:00 2001 From: Angelos Evripiotis Date: Wed, 12 Jun 2019 14:58:57 +0100 Subject: _platform.get_cpu_count: use psutil instead of os Be Windows-friendly by using the portable `psutil.Process().cpu_affinity()` instead of `os.sched_getaffinity`. Note that unfortunately this still doesn't work on Mac, so we keep that platform-specific override. --- src/buildstream/_platform/platform.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/buildstream/_platform/platform.py b/src/buildstream/_platform/platform.py index dba60ddca..0fbe145f9 100644 --- a/src/buildstream/_platform/platform.py +++ b/src/buildstream/_platform/platform.py @@ -22,6 +22,8 @@ import platform import sys import resource +import psutil + from .._exceptions import PlatformError, ImplError @@ -68,7 +70,7 @@ class Platform(): return cls._instance def get_cpu_count(self, cap=None): - cpu_count = len(os.sched_getaffinity(0)) + cpu_count = len(psutil.Process().cpu_affinity()) if cap is None: return cpu_count else: -- cgit v1.2.1