diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2016-02-03 22:42:17 -0800 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2016-02-03 22:42:17 -0800 |
commit | 1c02e2d147cfa5fd3ec32a0fc8035f237f505d42 (patch) | |
tree | 63add9d45cc5e5b653af10ba88fe1d5246c9cb21 | |
parent | 576633249bbb2c79b7ea125019d311ce19440386 (diff) | |
download | psutil-1c02e2d147cfa5fd3ec32a0fc8035f237f505d42.tar.gz |
windows: set uss to 0 in case of permission error
-rw-r--r-- | psutil/_pswindows.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/psutil/_pswindows.py b/psutil/_pswindows.py index 4403e5eb..d12aceb6 100644 --- a/psutil/_pswindows.py +++ b/psutil/_pswindows.py @@ -359,16 +359,20 @@ class Process(object): def _get_raw_meminfo(self): try: - info = cext.proc_memory_info(self.pid) - uss = cext.proc_memory_uss(self.pid) - return info + (uss,) + return cext.proc_memory_info(self.pid) except OSError as err: if err.errno in ACCESS_DENIED_SET: # TODO: the C ext can probably be refactored in order # to get this from cext.proc_info() - info = cext.proc_memory_info_2(self.pid) - uss = cext.proc_memory_uss(self.pid) - return info + (uss,) + return cext.proc_memory_info_2(self.pid) + raise + + def _get_uss_mem(self): + try: + return cext.proc_memory_uss(self.pid) + except OSError as err: + if err.errno in ACCESS_DENIED_SET: + return 0 raise @wrap_exceptions @@ -382,7 +386,9 @@ class Process(object): @wrap_exceptions def memory_info_ex(self): - return pextmem(*self._get_raw_meminfo()) + info = self._get_raw_meminfo() + uss = self._get_uss_mem() + return pextmem(*info + (uss, )) def memory_maps(self): try: |