diff options
author | Po-Chuan Hsieh <sunpoet@sunpoet.net> | 2019-12-21 20:54:54 +0800 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2019-12-21 13:54:54 +0100 |
commit | a7019f06e1accf6b96ba994dab264b8743f20edd (patch) | |
tree | 638eca6525e2d0bdd5672c9fffa3a72a3d403f2e /psutil/_psutil_bsd.c | |
parent | 04bcd8d9a16f0c053da916d8d57788f8851600a8 (diff) | |
download | psutil-a7019f06e1accf6b96ba994dab264b8743f20edd.tar.gz |
Fix Process on FreeBSD 12.0+ i386 (#1646)
FreeBSD 12.0+ change ki_tdev from 32 bits to 64 bits.
Reference: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242543
Diffstat (limited to 'psutil/_psutil_bsd.c')
-rw-r--r-- | psutil/_psutil_bsd.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/psutil/_psutil_bsd.c b/psutil/_psutil_bsd.c index 723d6198..94088d73 100644 --- a/psutil/_psutil_bsd.c +++ b/psutil/_psutil_bsd.c @@ -271,7 +271,11 @@ psutil_proc_oneshot_info(PyObject *self, PyObject *args) { // Return a single big tuple with all process info. py_retlist = Py_BuildValue( +#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031 + "(lillllllLdllllddddlllllbO)", +#else "(lillllllidllllddddlllllbO)", +#endif #ifdef PSUTIL_FREEBSD // (long)kp.ki_ppid, // (long) ppid @@ -285,7 +289,7 @@ psutil_proc_oneshot_info(PyObject *self, PyObject *args) { (long)kp.ki_groups[0], // (long) effective gid (long)kp.ki_svuid, // (long) saved gid // - kp.ki_tdev, // (int) tty nr + kp.ki_tdev, // (int or long long) tty nr PSUTIL_TV2DOUBLE(kp.ki_start), // (double) create time // ctx switches kp.ki_rusage.ru_nvcsw, // (long) ctx switches (voluntary) |