mirror of https://github.com/xzeldon/htop.git
Merge pull request #435 from mmcco/freebsd
Improve error reporting on FreeBSD libkvm call
This commit is contained in:
commit
4623394456
|
@ -14,7 +14,9 @@ in the source distribution for its full text.
|
|||
#include <sys/types.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/user.h>
|
||||
#include <err.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
|
||||
/*{
|
||||
|
@ -86,12 +88,12 @@ static int kernelFScale;
|
|||
|
||||
|
||||
ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) {
|
||||
size_t len;
|
||||
char errbuf[_POSIX2_LINE_MAX];
|
||||
FreeBSDProcessList* fpl = xCalloc(1, sizeof(FreeBSDProcessList));
|
||||
ProcessList* pl = (ProcessList*) fpl;
|
||||
ProcessList_init(pl, Class(FreeBSDProcess), usersTable, pidWhiteList, userId);
|
||||
|
||||
size_t len;
|
||||
|
||||
// physical memory in system: hw.physmem
|
||||
// physical page size: hw.pagesize
|
||||
// usable pagesize : vm.stats.vm.v_page_size
|
||||
|
@ -178,8 +180,10 @@ ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, ui
|
|||
kernelFScale = 2048;
|
||||
}
|
||||
|
||||
fpl->kd = kvm_open(NULL, "/dev/null", NULL, 0, NULL);
|
||||
assert(fpl->kd);
|
||||
fpl->kd = kvm_openfiles(NULL, "/dev/null", NULL, 0, errbuf);
|
||||
if (fpl->kd == NULL) {
|
||||
errx(1, "kvm_open: %s", errbuf);
|
||||
}
|
||||
|
||||
return pl;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue