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/types.h>
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
#include <sys/user.h>
|
#include <sys/user.h>
|
||||||
|
#include <err.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <limits.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/*{
|
/*{
|
||||||
|
@ -86,12 +88,12 @@ static int kernelFScale;
|
||||||
|
|
||||||
|
|
||||||
ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) {
|
ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) {
|
||||||
|
size_t len;
|
||||||
|
char errbuf[_POSIX2_LINE_MAX];
|
||||||
FreeBSDProcessList* fpl = xCalloc(1, sizeof(FreeBSDProcessList));
|
FreeBSDProcessList* fpl = xCalloc(1, sizeof(FreeBSDProcessList));
|
||||||
ProcessList* pl = (ProcessList*) fpl;
|
ProcessList* pl = (ProcessList*) fpl;
|
||||||
ProcessList_init(pl, Class(FreeBSDProcess), usersTable, pidWhiteList, userId);
|
ProcessList_init(pl, Class(FreeBSDProcess), usersTable, pidWhiteList, userId);
|
||||||
|
|
||||||
size_t len;
|
|
||||||
|
|
||||||
// physical memory in system: hw.physmem
|
// physical memory in system: hw.physmem
|
||||||
// physical page size: hw.pagesize
|
// physical page size: hw.pagesize
|
||||||
// usable pagesize : vm.stats.vm.v_page_size
|
// usable pagesize : vm.stats.vm.v_page_size
|
||||||
|
@ -178,8 +180,10 @@ ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, ui
|
||||||
kernelFScale = 2048;
|
kernelFScale = 2048;
|
||||||
}
|
}
|
||||||
|
|
||||||
fpl->kd = kvm_open(NULL, "/dev/null", NULL, 0, NULL);
|
fpl->kd = kvm_openfiles(NULL, "/dev/null", NULL, 0, errbuf);
|
||||||
assert(fpl->kd);
|
if (fpl->kd == NULL) {
|
||||||
|
errx(1, "kvm_open: %s", errbuf);
|
||||||
|
}
|
||||||
|
|
||||||
return pl;
|
return pl;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue