Mercurial > hg > octave-lyh > gnulib-hg
changeset 6270:dadc9a17b3bb
* getloadavg.c: Include fcntl--.h rather than fcntl.h.
Do not include unistd-safer.h.
(getloadavg): Don't call fd_safer; no longer needed
now that we include fcntl--.h.
* getloadavg.c:
Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
and don't include <sys/file.h>).
* getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
[__linux__]: Allocate a big enough buffer for /proc/loadavg.
[!LDAV_DONE]: Avoid unused variable warning.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Thu, 22 Sep 2005 23:15:09 +0000 |
parents | e3cfa812528f |
children | fdd622fe6d47 |
files | lib/getloadavg.c |
diffstat | 1 files changed, 12 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/getloadavg.c +++ b/lib/getloadavg.c @@ -47,7 +47,8 @@ the nlist n_name element is a pointer, not an array. HAVE_STRUCT_NLIST_N_UN_N_NAME `n_un.n_name' is member of `struct nlist'. - LINUX_LDAV_FILE [__linux__]: File containing load averages. + LINUX_LDAV_FILE [__linux__, __CYGWIN__]: File containing + load averages. Specific system predefines this file uses, aside from setting default values if not emacs: @@ -70,6 +71,7 @@ WINDOWS32 No-op for Windows95/NT. __linux__ Linux: assumes /proc file system mounted. Support from Michael K. Johnson. + __CYGWIN__ Cygwin emulates linux /proc/loadavg. __NetBSD__ NetBSD: assumes /kern file system mounted. In addition, to avoid nesting many #ifdefs, we internally set @@ -346,9 +348,7 @@ # define LDAV_SYMBOL "avenrun" # endif -# ifdef HAVE_UNISTD_H -# include <unistd.h> -# endif +# include <unistd.h> /* LOAD_AVE_TYPE should only get defined if we're going to use the nlist method. */ @@ -447,9 +447,7 @@ # include <sys/dg_sys_info.h> # endif -# include <fcntl.h> - -# include "unistd-safer.h" +# include "fcntl--.h" /* Avoid static vars inside a function since in HPUX they dump as pure. */ @@ -567,7 +565,7 @@ # endif /* hpux && HAVE_PSTAT_GETDYNAMIC */ -# if !defined (LDAV_DONE) && defined (__linux__) +# if !defined (LDAV_DONE) && (defined (__linux__) || defined (__CYGWIN__)) # define LDAV_DONE # undef LOAD_AVE_TYPE @@ -575,7 +573,7 @@ # define LINUX_LDAV_FILE "/proc/loadavg" # endif - char ldavgbuf[3 * (INT_STRLEN_BOUND (long int) + sizeof ".00")]; + char ldavgbuf[3 * (INT_STRLEN_BOUND (int) + sizeof ".00 ")]; char const *ptr = ldavgbuf; int fd, count; @@ -604,7 +602,7 @@ return elem; -# endif /* __linux__ */ +# endif /* __linux__ || __CYGWIN__ */ # if !defined (LDAV_DONE) && defined (__NetBSD__) # define LDAV_DONE @@ -909,7 +907,7 @@ if (!getloadavg_initialized) { # ifndef SUNOS_5 - channel = fd_safer (open ("/dev/kmem", O_RDONLY)); + channel = open ("/dev/kmem", O_RDONLY); if (channel >= 0) { /* Set the channel to close on exec, so it does not @@ -968,14 +966,13 @@ # define LDAV_DONE # endif /* !LDAV_DONE && LOAD_AVE_TYPE */ -# ifdef LDAV_DONE - return elem; -# else +# if !defined LDAV_DONE /* Set errno to zero to indicate that there was no particular error; this function just can't work at all on this system. */ errno = 0; - return -1; + elem = -1; # endif + return elem; } #endif /* ! HAVE_GETLOADAVG */