summaryrefslogtreecommitdiff
path: root/psutil/arch
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2021-10-05 19:20:51 +0200
committerGitHub <noreply@github.com>2021-10-05 19:20:51 +0200
commite15922b9f7f389679c73ab15ab5ac237b7c0d37f (patch)
tree22d2430de16b2f7bdd235581e30f8852f07ef0a4 /psutil/arch
parenta02ebdedc945fedb7173edfed5ad4d6f7a04a760 (diff)
downloadpsutil-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.c13
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;