diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2017-09-08 20:49:41 +0800 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2017-09-08 20:49:41 +0800 |
commit | 56e82a63a5fa4b7ab77d13b08179f3d035523849 (patch) | |
tree | c03eb76ac34ed7a6510d556c07d26431468a5ccc | |
parent | 147a35addd1b476a39b06221dc0e13fdff9562ac (diff) | |
download | psutil-56e82a63a5fa4b7ab77d13b08179f3d035523849.tar.gz |
fix #1125: [BSD] net_connections() raises TypeError.
-rw-r--r-- | HISTORY.rst | 1 | ||||
-rw-r--r-- | psutil/_psbsd.py | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/HISTORY.rst b/HISTORY.rst index 1213db2c..17e154a6 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -12,6 +12,7 @@ XXXX-XX-XX **Big fixes** - 1105_: [FreeBSD] psutil does not compile on FreeBSD 12. +- 1125_: [BSD] net_connections() raises TypeError. **Compatibility notes** diff --git a/psutil/_psbsd.py b/psutil/_psbsd.py index ba2414cd..6517f244 100644 --- a/psutil/_psbsd.py +++ b/psutil/_psbsd.py @@ -394,9 +394,12 @@ def net_connections(kind): # have a very short lifetime so maybe the kernel # can't initialize their status? status = TCP_STATUSES[cext.PSUTIL_CONN_NONE] + if fam in (AF_INET, AF_INET6): + if laddr: + laddr = _common.addr(*laddr) + if raddr: + raddr = _common.addr(*raddr) fam = sockfam_to_enum(fam) - laddr = _common.addr(*laddr) - raddr = _common.addr(*raddr) type = socktype_to_enum(type) nt = _common.sconn(fd, fam, type, laddr, raddr, status, pid) ret.add(nt) |