summaryrefslogtreecommitdiff
path: root/psutil/_psosx.py
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2018-07-16 00:10:03 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2018-07-16 00:10:03 +0200
commitcf9d1cd9045e4d73ecd2d7308183d254081bc9b3 (patch)
tree1380f6d942c3f7312df10a0e9218d61c12f00030 /psutil/_psosx.py
parentf440b6e3c6e9bbcd3e57f9c0d2f78aef36a249b1 (diff)
downloadpsutil-cf9d1cd9045e4d73ecd2d7308183d254081bc9b3.tar.gz
fix #1279: catch and skip ENODEV in net_if_stat()
Diffstat (limited to 'psutil/_psosx.py')
-rw-r--r--psutil/_psosx.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/psutil/_psosx.py b/psutil/_psosx.py
index 6c77dc69..d059449a 100644
--- a/psutil/_psosx.py
+++ b/psutil/_psosx.py
@@ -402,12 +402,18 @@ def net_if_stats():
names = net_io_counters().keys()
ret = {}
for name in names:
- mtu = cext_posix.net_if_mtu(name)
- isup = cext_posix.net_if_flags(name)
- duplex, speed = cext_posix.net_if_duplex_speed(name)
- if hasattr(_common, 'NicDuplex'):
- duplex = _common.NicDuplex(duplex)
- ret[name] = _common.snicstats(isup, duplex, speed, mtu)
+ try:
+ mtu = cext_posix.net_if_mtu(name)
+ isup = cext_posix.net_if_flags(name)
+ duplex, speed = cext_posix.net_if_duplex_speed(name)
+ except OSError as err:
+ # https://github.com/giampaolo/psutil/issues/1279
+ if err.errno != errno.ENODEV:
+ raise
+ else:
+ if hasattr(_common, 'NicDuplex'):
+ duplex = _common.NicDuplex(duplex)
+ ret[name] = _common.snicstats(isup, duplex, speed, mtu)
return ret