It does not work to get information about the swapper task on FreeBSD

1998-11-11  Martin Baulig  <martin@home-of-linux.org>

	* *.c: It does not work to get information about the swapper task
	on FreeBSD 2.2.6, so we simple return if pid == 0.
This commit is contained in:
Martin Baulig
1998-11-11 15:58:22 +00:00
committed by Martin Baulig
parent fffabe63b7
commit d46c6227fb
9 changed files with 43 additions and 7 deletions

View File

@@ -59,20 +59,26 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
memset (buf, 0, sizeof (glibtop_proc_args));
/* swapper, init, pagedaemon, vmdaemon, update - this doen't work. */
if (pid < 5) return NULL;
sprintf (filename, "/proc/%d/mem", pid);
if (stat (filename, &statb)) return NULL;
glibtop_suid_enter (server);
/* Get the process data */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
if ((pinfo == NULL) || (count < 1))
glibtop_error_io_r (server, "kvm_getprocs (proc_args)");
glibtop_suid_enter (server);
if ((pinfo == NULL) || (count < 1)) {
glibtop_suid_leave (server);
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return NULL;
}
args = kvm_getargv (server->machine.kd, pinfo, max_len);
if (args == NULL) {
glibtop_warn_io_r (server, "kvm_getargv");
glibtop_suid_leave (server);
glibtop_warn_io_r (server, "kvm_getargv (%d)", pid);
return NULL;
}