implement NetBSD support, and some build problems on FreeBSD (Closes:
2004-03-09 Bastien Nocera <hadess@hadess.net> * Makefile.am: * cpu.c: (glibtop_init_cpu_p), (glibtop_get_cpu_p): * glibtop_machine.h: * mem.c: * netload.c: (glibtop_get_netload_p): * prockernel.c: (glibtop_get_proc_kernel_p): * proclist.c: (glibtop_get_proclist_p): * procmap.c: (glibtop_get_proc_map_p): * procmem.c: (glibtop_get_proc_mem_p): * procsignal.c: (glibtop_get_proc_signal_p): * procstate.c: (glibtop_get_proc_state_p): * proctime.c: * procuid.c: (glibtop_get_proc_uid_p): * uptime.c: (glibtop_get_uptime_p): implement NetBSD support, and some build problems on FreeBSD (Closes: #135674)
This commit is contained in:
committed by
Bastien Nocera
parent
a795ff4847
commit
4bd9752d52
@@ -49,6 +49,27 @@ glibtop_init_uptime_p (glibtop *server)
|
||||
void
|
||||
glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf)
|
||||
{
|
||||
#ifdef __NetBSD__
|
||||
time_t now;
|
||||
time_t uptime;
|
||||
int mib[2];
|
||||
struct timeval boottime;
|
||||
size_t size;
|
||||
|
||||
mib[0] = CTL_KERN;
|
||||
mib[1] = KERN_BOOTTIME;
|
||||
size = sizeof(boottime);
|
||||
if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1 &&
|
||||
boottime.tv_sec != 0) {
|
||||
time(&now);
|
||||
buf->uptime = now - boottime.tv_sec;
|
||||
/* XXX: don't know a useful value to put here. */
|
||||
buf->idletime = 0;
|
||||
buf->flags = _glibtop_sysdeps_uptime;
|
||||
}
|
||||
#else
|
||||
buf->flags = _glibtop_sysdeps_uptime;
|
||||
|
||||
glibtop_cpu cpu;
|
||||
|
||||
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_UPTIME), 0);
|
||||
@@ -70,4 +91,5 @@ glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf)
|
||||
buf->idletime = (double) cpu.idle / (double) cpu.frequency;
|
||||
|
||||
buf->flags = _glibtop_sysdeps_uptime;
|
||||
#endif
|
||||
}
|
||||
|
Reference in New Issue
Block a user