summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Hajdan, Jr <phajdan.jr@chromium.org>2017-01-02 10:42:35 (GMT)
committerPawel Hajdan, Jr <phajdan.jr@chromium.org>2017-01-02 10:42:35 (GMT)
commit76abf78aac8c56606fb52ea874873d790b9044da (patch)
tree2bb28d0e7dd70f60042dcce688abb9a436fc4699
parent7d705a3dfcd09a31c67c440ca2120d3994357e57 (diff)
downloadNinja-76abf78aac8c56606fb52ea874873d790b9044da.zip
Ninja-76abf78aac8c56606fb52ea874873d790b9044da.tar.gz
Ninja-76abf78aac8c56606fb52ea874873d790b9044da.tar.bz2
Fix build with uclibc
Resolves #985 This is based on musl implementation, http://git.musl-libc.org/cgit/musl/commit/?id=20cbd607759038dca57f84ef7e7b5d44a3088574 (thanks to jbergstroem@ for reference)
-rw-r--r--src/util.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/util.cc b/src/util.cc
index e31fd1f..1caa1ce 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -585,6 +585,13 @@ double GetLoadAverage() {
// Calculation taken from comment in libperfstats.h
return double(cpu_stats.loadavg[0]) / double(1 << SBITS);
}
+#elif defined(__UCLIBC__)
+double GetLoadAverage() {
+ struct sysinfo si;
+ if (sysinfo(&si) != 0)
+ return -0.0f;
+ return 1.0 / (1 << SI_LOAD_SHIFT) * si.loads[0];
+}
#else
double GetLoadAverage() {
double loadavg[3] = { 0.0f, 0.0f, 0.0f };