Ignore EIO, ENOENT and ENOTDIR when checking cwd If the current working directory is gone Solaris can also give an ENOTDIR error. In this case we need to hande this gracefully too, just like ENOENT or EIO. Fixes issue #24.
1 files changed, 3 insertions(+), 1 deletions(-) M src/arch/sunos_process.c
M src/arch/sunos_process.c +3 -1
@@ 426,7 426,9 @@ set_cwd(struct psi_process *proci, const PyErr_Clear(); proci->cwd_status = PSI_STATUS_PRIVS; } else if (r < 0) { - if (psi_check_oserror_errno(ENOENT) || psi_check_oserror_errno(EIO)) { + if (psi_check_oserror_errno(ENOENT) + || psi_check_oserror_errno(EIO) + || psi_check_oserror_errno(ENOTDIR) { proci->cwd_status = PSI_STATUS_NA; return 0; } else {