diff options
author | Pawel Hajdan, Jr <phajdan.jr@chromium.org> | 2017-01-02 10:42:35 (GMT) |
---|---|---|
committer | Pawel Hajdan, Jr <phajdan.jr@chromium.org> | 2017-01-02 10:42:35 (GMT) |
commit | 76abf78aac8c56606fb52ea874873d790b9044da (patch) | |
tree | 2bb28d0e7dd70f60042dcce688abb9a436fc4699 /src | |
parent | 7d705a3dfcd09a31c67c440ca2120d3994357e57 (diff) | |
download | Ninja-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)
Diffstat (limited to 'src')
-rw-r--r-- | src/util.cc | 7 |
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 }; |