/*(@(#)getloadave.c 1.2 /ra/csr/presotto/hacks/src/worm/sccs/s.getloadave.c)*/
int kmemf
= -1; /* fd for kmem */
time_t vmunixdate
= 0; /* update time for vmunix */
i
= stat ("/vmunix", &sbuf
);
error ("can't read /vmunix");
if (vmunixdate
!= sbuf
.st_mtime
) {
for (i
= 0; i
< MAXRETRIES
; sleep (5), i
++) {
for (nlp
= &nl
[sizeof (nl
) / sizeof (nl
[0])]; --nlp
>= nl
; ) {
if (nl
[0].n_value
== 0) {
warn ("/vmunix namelist botch");
vmunixdate
= sbuf
.st_mtime
;
kmemf
= open("/dev/kmem", 0);
error ("opening /dev/kmem");
* Get the current load average
(void) lseek(kmemf
, (long)nl
[NL_AVENRUN
].n_value
, 0);
(void) read(kmemf
, (char *)avenrun
, sizeof (template));