diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2018-07-16 00:10:03 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2018-07-16 00:10:03 +0200 |
commit | cf9d1cd9045e4d73ecd2d7308183d254081bc9b3 (patch) | |
tree | 1380f6d942c3f7312df10a0e9218d61c12f00030 /psutil/_psosx.py | |
parent | f440b6e3c6e9bbcd3e57f9c0d2f78aef36a249b1 (diff) | |
download | psutil-cf9d1cd9045e4d73ecd2d7308183d254081bc9b3.tar.gz |
fix #1279: catch and skip ENODEV in net_if_stat()
Diffstat (limited to 'psutil/_psosx.py')
-rw-r--r-- | psutil/_psosx.py | 18 |
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 |