diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/getloadavg.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/getloadavg.c | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/sysdeps/unix/sysv/linux/getloadavg.c b/sysdeps/unix/sysv/linux/getloadavg.c deleted file mode 100644 index 117f8c2b38..0000000000 --- a/sysdeps/unix/sysv/linux/getloadavg.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Get system load averages. Linux (/proc/loadavg) version. - Copyright (C) 1999-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <errno.h> -#include <fcntl.h> -#include <locale.h> -#include <stdlib.h> -#include <unistd.h> -#include <not-cancel.h> - -/* Put the 1 minute, 5 minute and 15 minute load averages - into the first NELEM elements of LOADAVG. - Return the number written (never more than 3, but may be less than NELEM), - or -1 if an error occurred. */ - -int -getloadavg (double loadavg[], int nelem) -{ - int fd; - - fd = open_not_cancel_2 ("/proc/loadavg", O_RDONLY); - if (fd < 0) - return -1; - else - { - char buf[65], *p; - ssize_t nread; - int i; - - nread = read_not_cancel (fd, buf, sizeof buf - 1); - close_not_cancel_no_status (fd); - if (nread <= 0) - return -1; - buf[nread - 1] = '\0'; - - if (nelem > 3) - nelem = 3; - p = buf; - for (i = 0; i < nelem; ++i) - { - char *endp; - loadavg[i] = __strtod_l (p, &endp, _nl_C_locobj_ptr); - if (endp == p) - /* This should not happen. The format of /proc/loadavg - must have changed. Don't return with what we have, - signal an error. */ - return -1; - p = endp; - } - - return i; - } -} |