mirror of
https://github.com/mirror/make.git
synced 2025-01-01 07:50:52 +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
|
VMS
|
||||||
__linux__ Linux: assumes /proc filesystem mounted.
|
__linux__ Linux: assumes /proc filesystem mounted.
|
||||||
Support from Michael K. Johnson.
|
Support from Michael K. Johnson.
|
||||||
|
__NetBSD__ NetBSD: assumes /kern filesystem mounted.
|
||||||
|
|
||||||
In addition, to avoid nesting many #ifdefs, we internally set
|
In addition, to avoid nesting many #ifdefs, we internally set
|
||||||
LDAV_DONE to indicate that the load average has been computed.
|
LDAV_DONE to indicate that the load average has been computed.
|
||||||
@ -511,6 +512,35 @@ getloadavg (loadavg, nelem)
|
|||||||
|
|
||||||
#endif /* __linux__ */
|
#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)
|
#if !defined (LDAV_DONE) && defined (NeXT)
|
||||||
#define LDAV_DONE
|
#define LDAV_DONE
|
||||||
/* The NeXT code was adapted from iscreen 3.2. */
|
/* The NeXT code was adapted from iscreen 3.2. */
|
||||||
|
Loading…
Reference in New Issue
Block a user