summaryrefslogtreecommitdiff
path: root/sysdeps/solaris/loadavg.c
diff options
context:
space:
mode:
authorBenoît Dejean <bdejean@src.gnome.org>2004-10-11 18:01:25 +0000
committerBenoît Dejean <bdejean@src.gnome.org>2004-10-11 18:01:25 +0000
commitb3dfc1d1d210f610cfa5b0303a4a317fad8ffdf0 (patch)
treef55d6ff96b2256b88aaf2426ccf4f5bc617ec034 /sysdeps/solaris/loadavg.c
parent13025c6c5f99287644cafbc79d37311f7fa3f893 (diff)
downloadlibgtop-b3dfc1d1d210f610cfa5b0303a4a317fad8ffdf0.tar.gz
Updated. Lots of cleanup.
* cpu.c: (glibtop_init_cpu_s), (glibtop_get_cpu_s): * loadavg.c: (glibtop_get_loadavg_s): * mem.c: (glibtop_init_mem_s), (glibtop_get_mem_s): * open.c: (glibtop_get_kstats), (glibtop_open_s): * procargs.c: (glibtop_get_proc_args_s): * procdata.c: (glibtop_get_proc_data_psinfo_s), (glibtop_get_proc_data_usage_s), (glibtop_get_proc_credentials_s), (glibtop_get_proc_status_s): * proclist.c: (glibtop_get_proclist_s): * procmap.c: (glibtop_get_proc_map_s): * procmem.c: (glibtop_get_proc_mem_s): * procstate.c: (glibtop_get_proc_state_s): * safeio.c: * safeio.h: * shm_limits.c: (glibtop_init_shm_limits_p), (glibtop_get_shm_limits_p): * swap.c: (glibtop_get_swap_s): * uptime.c: (glibtop_get_uptime_s): Updated. Lots of cleanup.
Diffstat (limited to 'sysdeps/solaris/loadavg.c')
-rw-r--r--sysdeps/solaris/loadavg.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/sysdeps/solaris/loadavg.c b/sysdeps/solaris/loadavg.c
index 39f4f445..8a3dd834 100644
--- a/sysdeps/solaris/loadavg.c
+++ b/sysdeps/solaris/loadavg.c
@@ -51,37 +51,43 @@ glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf)
#ifndef HAVE_GETLOADAVG
kstat_ctl_t *kc;
kstat_t *ksp;
- int i;
- static const char *avestrings[] = { "avenrun_1min",
- "avenrun_5min",
- "avenrun_15min" };
+ size_t i;
+ static const char avestrings[][14] = { "avenrun_1min",
+ "avenrun_5min",
+ "avenrun_15min" };
#endif
memset (buf, 0, sizeof (glibtop_loadavg));
#ifdef HAVE_GETLOADAVG
- if (getloadavg (buf->loadavg, 3))
+ if (getloadavg (buf->loadavg, 3) != 3)
return;
+
#else
if(!(kc = server->machine.kc))
return;
+
switch(kstat_chain_update(kc))
{
case -1: assert(0); /* Debugging, shouldn't happen */
case 0: break;
default: glibtop_get_kstats(server);
}
+
if(!(ksp = server->machine.system))
return;
+
if(kstat_read(kc, ksp, NULL) < 0)
return;
+
for(i = 0; i < 3; ++i) /* Do we have a countof macro? */
{
- kstat_named_t *kn;
+ kstat_named_t *kn;
kn = (kstat_named_t *)kstat_data_lookup(ksp, avestrings[i]);
if(kn)
buf->loadavg[i] = (double)kn->value.ul / FSCALE;
}
-#endif
+#endif /* HAVE_GETLOADAVG */
+
buf->flags = _glibtop_sysdeps_loadavg;
}