summaryrefslogtreecommitdiff
path: root/psutil/arch/openbsd/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'psutil/arch/openbsd/proc.c')
-rw-r--r--psutil/arch/openbsd/proc.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/psutil/arch/openbsd/proc.c b/psutil/arch/openbsd/proc.c
index 344d6010..e66cac66 100644
--- a/psutil/arch/openbsd/proc.c
+++ b/psutil/arch/openbsd/proc.c
@@ -305,8 +305,14 @@ psutil_proc_cwd(PyObject *self, PyObject *args) {
int name[] = { CTL_KERN, KERN_PROC_CWD, pid };
if (sysctl(name, 3, path, &pathlen, NULL, 0) != 0) {
- PyErr_SetFromErrno(PyExc_OSError);
- return NULL;
+ if (errno == ENOENT) {
+ psutil_debug("sysctl(KERN_PROC_CWD) -> ENOENT converted to None");
+ Py_RETURN_NONE; // mimic os.cpu_count()
+ }
+ else {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
}
return PyUnicode_DecodeFSDefault(path);
}