mirror of https://github.com/xzeldon/htop.git
NetBSD: fix reading environment variables of processes
kvm_getenvv(3) seems not to work with kvm_openfiles(..., KVM_NO_FILES, ...)
This commit is contained in:
parent
7f95ed8528
commit
fd2c4f5ddd
|
@ -281,19 +281,19 @@ char* Platform_getProcessEnv(pid_t pid) {
|
||||||
char** ptr;
|
char** ptr;
|
||||||
int count;
|
int count;
|
||||||
kvm_t* kt;
|
kvm_t* kt;
|
||||||
struct kinfo_proc* kproc;
|
const struct kinfo_proc2* kproc;
|
||||||
size_t capacity = 4096, size = 0;
|
size_t capacity = 4096, size = 0;
|
||||||
|
|
||||||
if ((kt = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) {
|
if ((kt = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((kproc = kvm_getprocs(kt, KERN_PROC_PID, pid, &count)) == NULL) {
|
if ((kproc = kvm_getproc2(kt, KERN_PROC_PID, pid, sizeof(struct kinfo_proc2), &count)) == NULL) {
|
||||||
(void) kvm_close(kt);
|
(void) kvm_close(kt);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ptr = kvm_getenvv(kt, kproc, 0)) == NULL) {
|
if ((ptr = kvm_getenvv2(kt, kproc, 0)) == NULL) {
|
||||||
(void) kvm_close(kt);
|
(void) kvm_close(kt);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue