summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--getloadavg.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/getloadavg.c b/getloadavg.c
index 0f730a7..e7804f0 100644
--- a/getloadavg.c
+++ b/getloadavg.c
@@ -149,6 +149,7 @@ extern int errno;
#if defined (__osf__) && (defined (__alpha) || defined (__alpha__))
#define OSF_ALPHA
+#include <sys/table.h>
#endif
#if defined (__osf__) && (defined (mips) || defined (__mips__))
@@ -702,6 +703,18 @@ getloadavg (loadavg, nelem)
: (load_ave.tl_avenrun.l[0] / (double) load_ave.tl_lscale));
#endif /* OSF_MIPS */
+#if !defined (LDAV_DONE) && defined (OSF_ALPHA)
+#define LDAV_DONE
+
+ struct tbl_loadavg load_ave;
+ table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave));
+ for (elem = 0; elem < nelem; elem++)
+ loadavg[elem]
+ = (load_ave.tl_lscale == 0
+ ? load_ave.tl_avenrun.d[elem]
+ : (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale));
+#endif /* OSF_ALPHA */
+
#if !defined (LDAV_DONE) && defined (VMS)
/* VMS specific code -- read from the Load Ave driver. */