mirror of
https://github.com/mirror/make.git
synced 2024-12-29 14:30:42 +08:00
*** empty log message ***
This commit is contained in:
parent
cc5be7c0cd
commit
492f92b9ec
30
getloadavg.c
30
getloadavg.c
@ -51,6 +51,7 @@
|
||||
VMS
|
||||
__linux__ Linux: assumes /proc filesystem mounted.
|
||||
Support from Michael K. Johnson.
|
||||
__NetBSD__ NetBSD: assumes /kern filesystem mounted.
|
||||
|
||||
In addition, to avoid nesting many #ifdefs, we internally set
|
||||
LDAV_DONE to indicate that the load average has been computed.
|
||||
@ -511,6 +512,35 @@ getloadavg (loadavg, nelem)
|
||||
|
||||
#endif /* __linux__ */
|
||||
|
||||
#if !defined (LDAV_DONE) && defined (__NetBSD__)
|
||||
#define LDAV_DONE
|
||||
#undef LOAD_AVE_TYPE
|
||||
|
||||
#ifndef NETBSD_LDAV_FILE
|
||||
#define NETBSD_LDAV_FILE "/kern/loadavg"
|
||||
#endif
|
||||
|
||||
unsigned long int load_ave[3], scale;
|
||||
int count;
|
||||
FILE *fp;
|
||||
|
||||
fp = fopen (LINUX_LDAV_FILE, "r");
|
||||
if (fp == NULL)
|
||||
return -1;
|
||||
count = fscanf (fp, "%lu %lu %lu %lu\n",
|
||||
&load_ave[0], &load_ave[1], &load_ave[2],
|
||||
&scale);
|
||||
(void) fclose (fp);
|
||||
if (count != 4)
|
||||
return -1;
|
||||
|
||||
for (elem = 0; elem < nelem; elem++)
|
||||
loadavg[elem] = (double) load_ave[elem] / (double) scale;
|
||||
|
||||
return elem;
|
||||
|
||||
#endif /* __NetBSD__ */
|
||||
|
||||
#if !defined (LDAV_DONE) && defined (NeXT)
|
||||
#define LDAV_DONE
|
||||
/* The NeXT code was adapted from iscreen 3.2. */
|
||||
|
Loading…
Reference in New Issue
Block a user