aboutsummaryrefslogtreecommitdiff
path: root/src/legacy
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2013-11-21 01:59:43 +0000
committerSzabolcs Nagy <nsz@port70.net>2013-11-21 01:59:43 +0000
commita516077feba96ec24d1ca8a9cbb8490bfdd066f1 (patch)
tree829547bd11df1e93f1d29ef46d2b24467a5cb41d /src/legacy
parentceb0ed9cf96d90e613a2c55a84ac0c8172fc7f10 (diff)
downloadmusl-a516077feba96ec24d1ca8a9cbb8490bfdd066f1.zip
musl-a516077feba96ec24d1ca8a9cbb8490bfdd066f1.tar.gz
musl-a516077feba96ec24d1ca8a9cbb8490bfdd066f1.tar.bz2
add legacy getloadavg api
Diffstat (limited to 'src/legacy')
-rw-r--r--src/legacy/getloadavg.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/legacy/getloadavg.c b/src/legacy/getloadavg.c
new file mode 100644
index 0000000..43a8c9e
--- /dev/null
+++ b/src/legacy/getloadavg.c
@@ -0,0 +1,18 @@
+#define _GNU_SOURCE
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+int getloadavg(double *a, int n)
+{
+ int i;
+ double b[3];
+ FILE *f = fopen("/proc/loadavg", "rbe");
+ if (!f) return -1;
+ i = fscanf(f, "%lf %lf %lf", b, b+1, b+2);
+ fclose(f);
+ if (n > i) n = i;
+ if (n < 0) return -1;
+ memcpy(a, b, n * sizeof *a);
+ return n;
+}