Index: fusl/src/legacy/getloadavg.c |
diff --git a/fusl/src/legacy/getloadavg.c b/fusl/src/legacy/getloadavg.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ff06de0f8d1655a38abf95202c8550736404c88b |
--- /dev/null |
+++ b/fusl/src/legacy/getloadavg.c |
@@ -0,0 +1,14 @@ |
+#define _GNU_SOURCE |
+#include <stdlib.h> |
+#include <sys/sysinfo.h> |
+ |
+int getloadavg(double *a, int n) |
+{ |
+ struct sysinfo si; |
+ if (n <= 0) return n ? -1 : 0; |
+ sysinfo(&si); |
+ if (n > 3) n = 3; |
+ for (int i=0; i<n; i++) |
+ a[i] = 1.0/(1<<SI_LOAD_SHIFT) * si.loads[i]; |
+ return n; |
+} |