top: add config option and code for global CPU % display

This commit is contained in:
Denis Vlasenko
2007-06-10 17:11:59 +00:00
parent e8a0788b24
commit 5a65447e30
4 changed files with 70 additions and 20 deletions

View File

@ -79,8 +79,15 @@ const char* get_cached_groupname(gid_t gid)
static int read_to_buf(const char *filename, void *buf)
{
ssize_t ret;
ret = open_read_close(filename, buf, PROCPS_BUFSIZE-1);
int fd;
/* open_read_close() would do two reads, checking for EOF.
* When you have 10000 /proc/$NUM/stat to read, it isn't desirable */
ssize_t ret = -1;
fd = open(filename, O_RDONLY);
if (fd >= 0) {
ret = read(fd, buf, PROCPS_BUFSIZE-1);
close(fd);
}
((char *)buf)[ret > 0 ? ret : 0] = '\0';
return ret;
}