diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2021-10-05 19:20:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-05 19:20:51 +0200 |
commit | e15922b9f7f389679c73ab15ab5ac237b7c0d37f (patch) | |
tree | 22d2430de16b2f7bdd235581e30f8852f07ef0a4 /psutil/arch | |
parent | a02ebdedc945fedb7173edfed5ad4d6f7a04a760 (diff) | |
download | psutil-e15922b9f7f389679c73ab15ab5ac237b7c0d37f.tar.gz |
[macOS] dynamic set buffer size for process connections/fds (fixes #1901) (#1903)
Diffstat (limited to 'psutil/arch')
-rw-r--r-- | psutil/arch/osx/process_info.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/psutil/arch/osx/process_info.c b/psutil/arch/osx/process_info.c index 15ad3b89..6ab42750 100644 --- a/psutil/arch/osx/process_info.c +++ b/psutil/arch/osx/process_info.c @@ -361,7 +361,7 @@ psutil_get_kinfo_proc(pid_t pid, struct kinfo_proc *kp) { // sysctl succeeds but len is zero, happens when process has gone away if (len == 0) { - NoSuchProcess("sysctl (len == 0)"); + NoSuchProcess("sysctl(kinfo_proc), len == 0"); return -1; } return 0; @@ -370,8 +370,8 @@ psutil_get_kinfo_proc(pid_t pid, struct kinfo_proc *kp) { /* * A wrapper around proc_pidinfo(). - * https://opensource.apple.com/source/xnu/xnu-2050.7.9/bsd/kern/proc_info.c. - * Returns 0 on failure (and Python exception gets already set). + * https://opensource.apple.com/source/xnu/xnu-2050.7.9/bsd/kern/proc_info.c + * Returns 0 on failure. */ int psutil_proc_pidinfo(pid_t pid, int flavor, uint64_t arg, void *pti, int size) { @@ -380,11 +380,12 @@ psutil_proc_pidinfo(pid_t pid, int flavor, uint64_t arg, void *pti, int size) { ret = proc_pidinfo(pid, flavor, arg, pti, size); if (ret <= 0) { - psutil_raise_for_pid(pid, "proc_pidinfo() failed"); + psutil_raise_for_pid(pid, "proc_pidinfo()"); return 0; } - else if ((unsigned long )ret < sizeof(pti)) { - psutil_raise_for_pid(pid, "proc_pidinfo() len mismatch"); + if ((unsigned long)ret < sizeof(pti)) { + psutil_raise_for_pid( + pid, "proc_pidinfo() return size < sizeof(struct_pointer)"); return 0; } return ret; |