diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2020-02-13 13:45:42 -0800 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2020-02-13 13:45:42 -0800 |
commit | 57367dca114e8224134830ca9b702aa666229b6e (patch) | |
tree | c495ad2ab868a934b218a8010c1c5243e4c7df60 | |
parent | 2b28c332f3bfbb4744d6f7de3d10e2bdf27a4570 (diff) | |
download | psutil-57367dca114e8224134830ca9b702aa666229b6e.tar.gz |
bind cpu_times() and create_time() with oneshot()
-rw-r--r-- | psutil/_pswindows.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/psutil/_pswindows.py b/psutil/_pswindows.py index e9aaeed3..1917a862 100644 --- a/psutil/_pswindows.py +++ b/psutil/_pswindows.py @@ -722,10 +722,12 @@ class Process(object): def oneshot_enter(self): self._proc_info.cache_activate(self) + self._proc_times.cache_activate(self) self.exe.cache_activate(self) def oneshot_exit(self): self._proc_info.cache_deactivate(self) + self._proc_times.cache_deactivate(self) self.exe.cache_deactivate(self) @memoize_when_activated @@ -737,6 +739,11 @@ class Process(object): assert len(ret) == len(pinfo_map) return ret + @memoize_when_activated + def _proc_times(self): + user, system, created = cext.proc_times(self.pid) + return (user, system, created) + def name(self): """Return process name, which on Windows is always the final part of the executable. @@ -928,7 +935,7 @@ class Process(object): @wrap_exceptions def create_time(self): try: - user, kernel, created = cext.proc_times(self.pid) + user, kernel, created = self._proc_times() return created except OSError as err: if is_permission_err(err): @@ -951,7 +958,7 @@ class Process(object): @wrap_exceptions def cpu_times(self): try: - user, system, created = cext.proc_times(self.pid) + user, system, created = self._proc_times() except OSError as err: if not is_permission_err(err): raise |