/* #endif KERNEL_LINUX */
#elif HAVE_LIBKVM_GETPROCS && \
- (HAVE_STRUCT_KINFO_PROC_FREEBSD || HAVE_STRUCT_KINFO_PROC_OPENBSD || HAVE_STRUCT_KINFO_PROC2_NETBSD)
+ (HAVE_STRUCT_KINFO_PROC_FREEBSD || HAVE_STRUCT_KINFO_PROC_OPENBSD || \
+ HAVE_STRUCT_KINFO_PROC2_NETBSD)
#include <kvm.h>
#include <sys/param.h>
#include <sys/proc.h>
/* #endif KERNEL_LINUX */
#elif HAVE_LIBKVM_GETPROCS && \
- (HAVE_STRUCT_KINFO_PROC_FREEBSD || HAVE_STRUCT_KINFO_PROC_OPENBSD || HAVE_STRUCT_KINFO_PROC2_NETBSD)
+ (HAVE_STRUCT_KINFO_PROC_FREEBSD || HAVE_STRUCT_KINFO_PROC_OPENBSD || \
+ HAVE_STRUCT_KINFO_PROC2_NETBSD)
static int pagesize;
#if KERNEL_NETBSD
/* #endif KERNEL_LINUX */
#elif HAVE_LIBKVM_GETPROCS && \
- (HAVE_STRUCT_KINFO_PROC_FREEBSD || HAVE_STRUCT_KINFO_PROC_OPENBSD || HAVE_STRUCT_KINFO_PROC2_NETBSD)
+ (HAVE_STRUCT_KINFO_PROC_FREEBSD || HAVE_STRUCT_KINFO_PROC_OPENBSD || \
+ HAVE_STRUCT_KINFO_PROC2_NETBSD)
#if KERNEL_NETBSD
int mib[2];
size_t size;
mib[1] = VM_MAXSLP;
size = sizeof(maxslp);
if (sysctl(mib, 2, &maxslp, &size, NULL, 0) == -1)
- maxslp = 20; /* reasonable default? */
+ maxslp = 20; /* reasonable default? */
#endif
pagesize = getpagesize();
/* #endif HAVE_LIBKVM_GETPROCS && HAVE_STRUCT_KINFO_PROC_FREEBSD */
#elif HAVE_LIBKVM_GETPROCS && HAVE_STRUCT_KINFO_PROC2_NETBSD
- int running = 0;
+ int running = 0;
int sleeping = 0;
- int zombies = 0;
- int stopped = 0;
- int blocked = 0;
- int idle = 0;
- int wait = 0;
+ int zombies = 0;
+ int stopped = 0;
+ int blocked = 0;
+ int idle = 0;
+ int wait = 0;
kvm_t *kd;
char errbuf[_POSIX2_LINE_MAX];
- struct kinfo_proc2 *procs; /* array of processes */
+ struct kinfo_proc2 *procs; /* array of processes */
struct kinfo_proc2 *proc_ptr = NULL;
struct kinfo_proc2 *p;
- int count; /* returns number of processes */
+ int count; /* returns number of processes */
int i;
int l, nlwps;
struct kinfo_lwp *kl;
procstat_t *ps_ptr;
process_entry_t pse;
- ps_list_reset ();
+ ps_list_reset();
/* Open the kvm interface, get a descriptor */
- kd = kvm_openfiles (NULL, NULL, NULL, KVM_NO_FILES, errbuf);
- if (kd == NULL)
- {
- ERROR ("processes plugin: Cannot open kvm interface: %s",
- errbuf);
+ kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf);
+ if (kd == NULL) {
+ ERROR("processes plugin: Cannot open kvm interface: %s", errbuf);
return (0);
}
/* Get the list of processes. */
- procs = kvm_getproc2(kd, KERN_PROC_ALL, 0,
- sizeof(struct kinfo_proc2), &count);
- if (procs == NULL)
- {
- ERROR ("processes plugin: Cannot get kvm processes list: %s",
- kvm_geterr(kd));
- kvm_close (kd);
+ procs =
+ kvm_getproc2(kd, KERN_PROC_ALL, 0, sizeof(struct kinfo_proc2), &count);
+ if (procs == NULL) {
+ ERROR("processes plugin: Cannot get kvm processes list: %s",
+ kvm_geterr(kd));
+ kvm_close(kd);
return (0);
}
/* Iterate through the processes in kinfo_proc */
- for (i = 0; i < count; i++)
- {
+ for (i = 0; i < count; i++) {
/* Create only one process list entry per _process_, i.e.
* filter out threads (duplicate PID entries). */
- if ((proc_ptr == NULL) || (proc_ptr->p_pid != procs[i].p_pid))
- {
+ if ((proc_ptr == NULL) || (proc_ptr->p_pid != procs[i].p_pid)) {
char cmdline[CMDLINE_BUFFER_SIZE] = "";
_Bool have_cmdline = 0;
proc_ptr = &(procs[i]);
/* Don't probe system processes and processes without arguments */
- if (((procs[i].p_flag & P_SYSTEM) == 0)
- && (procs[i].p_comm[0] != 0))
- {
+ if (((procs[i].p_flag & P_SYSTEM) == 0) && (procs[i].p_comm[0] != 0)) {
char **argv;
int argc;
int status;
/* retrieve the arguments */
- argv = kvm_getargv2 (kd, proc_ptr, 0);
+ argv = kvm_getargv2(kd, proc_ptr, 0);
argc = 0;
- if ((argv != NULL) && (argv[0] != NULL))
- {
+ if ((argv != NULL) && (argv[0] != NULL)) {
while (argv[argc] != NULL)
argc++;
- status = strjoin (cmdline, sizeof (cmdline), argv, argc, " ");
+ status = strjoin(cmdline, sizeof(cmdline), argv, argc, " ");
if (status < 0)
- WARNING ("processes plugin: Command line did not fit into buffer.");
+ WARNING("processes plugin: Command line did not fit into buffer.");
else
have_cmdline = 1;
}
* If it's here fill in these fields, otherwise, just
* leave them 0.
*/
- if (procs[i].p_flag & P_INMEM)
- {
- pse.cpu_user_counter = procs[i].p_uutime_usec
- + (1000000lu * procs[i].p_uutime_sec);
- pse.cpu_system_counter = procs[i].p_ustime_usec
- + (1000000lu * procs[i].p_ustime_sec);
+ if (procs[i].p_flag & P_INMEM) {
+ pse.cpu_user_counter =
+ procs[i].p_uutime_usec + (1000000lu * procs[i].p_uutime_sec);
+ pse.cpu_system_counter =
+ procs[i].p_ustime_usec + (1000000lu * procs[i].p_ustime_sec);
}
/* no I/O data */
pse.cswitch_vol = -1;
pse.cswitch_invol = -1;
- ps_list_add (procs[i].p_comm, have_cmdline ? cmdline : NULL, &pse);
+ ps_list_add(procs[i].p_comm, have_cmdline ? cmdline : NULL, &pse);
} /* if ((proc_ptr == NULL) || (proc_ptr->ki_pid != procs[i].ki_pid)) */
- /* system processes' LWPs end up in "running" state */
+ /* system processes' LWPs end up in "running" state */
if ((procs[i].p_flag & P_SYSTEM) != 0)
continue;
- switch (procs[i].p_realstat)
- {
+ switch (procs[i].p_realstat) {
case SSTOP:
case SACTIVE:
case SIDL:
else
sleeping++;
} else
- blocked++;
+ blocked++;
break;
case LSSTOP:
- stopped++; break;
+ stopped++;
+ break;
case LSIDL:
- idle++; break;
+ idle++;
+ break;
}
}
break;
case SZOMB:
case SDYING:
case SDEAD:
- zombies++; break;
-
+ zombies++;
+ break;
}
}
kvm_close(kd);
- ps_submit_state ("running", running);
- ps_submit_state ("sleeping", sleeping);
- ps_submit_state ("zombies", zombies);
- ps_submit_state ("stopped", stopped);
- ps_submit_state ("blocked", blocked);
- ps_submit_state ("idle", idle);
- ps_submit_state ("wait", wait);
+ ps_submit_state("running", running);
+ ps_submit_state("sleeping", sleeping);
+ ps_submit_state("zombies", zombies);
+ ps_submit_state("stopped", stopped);
+ ps_submit_state("blocked", blocked);
+ ps_submit_state("idle", idle);
+ ps_submit_state("wait", wait);
for (ps_ptr = list_head_g; ps_ptr != NULL; ps_ptr = ps_ptr->next)
- ps_submit_proc_list (ps_ptr);
-/* #endif HAVE_LIBKVM_GETPROCS && HAVE_STRUCT_KINFO_PROC2_NETBSD */
+ ps_submit_proc_list(ps_ptr);
+ /* #endif HAVE_LIBKVM_GETPROCS && HAVE_STRUCT_KINFO_PROC2_NETBSD */
#elif HAVE_LIBKVM_GETPROCS && HAVE_STRUCT_KINFO_PROC_OPENBSD
int running = 0;