summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2020-04-30 15:29:20 -0700
committerGiampaolo Rodola <g.rodola@gmail.com>2020-04-30 15:29:20 -0700
commita40b25fad4a9859d11cc0de1812b05c9c453217d (patch)
treecec5ff47d69c738ea9115a6b71cd6362251647f3
parentd59992759f56969ec2f7a8e0c6ac6f7ad81f8fcb (diff)
downloadpsutil-a40b25fad4a9859d11cc0de1812b05c9c453217d.tar.gz
always use Process.wait() wrapper
-rw-r--r--psutil/__init__.py2
-rw-r--r--psutil/tests/__init__.py21
2 files changed, 7 insertions, 16 deletions
diff --git a/psutil/__init__.py b/psutil/__init__.py
index eb6d6c1b..acf5ee79 100644
--- a/psutil/__init__.py
+++ b/psutil/__init__.py
@@ -1366,7 +1366,7 @@ class Popen(Process):
return self.__subproc.returncode
# Note: using psutil's wait() on UNIX should make no difference.
# On Windows it does, because PID can still be alive (see
- # _pswindows.py counterpart addressing this). On Python 2.7 we don't
+ # _pswindows.py counterpart addressing this). Python 2.7 doesn't
# have timeout arg, so this acts as a backport.
ret = Process.wait(self, timeout)
self.__subproc.returncode = ret
diff --git a/psutil/tests/__init__.py b/psutil/tests/__init__.py
index 8ce76304..6cdf3bc8 100644
--- a/psutil/tests/__init__.py
+++ b/psutil/tests/__init__.py
@@ -486,21 +486,12 @@ def terminate(proc_or_pid, sig=signal.SIGTERM, wait_timeout=GLOBAL_TIMEOUT):
from psutil._psposix import wait_pid
def wait(proc, timeout):
- if sys.version_info < (3, 3) and \
- isinstance(proc, subprocess.Popen) and \
- not isinstance(proc, psutil.Popen):
- # subprocess.Popen instance: emulate missing timeout arg.
- ret = None
- try:
- ret = psutil.Process(proc.pid).wait(timeout)
- except psutil.NoSuchProcess:
- # Needed to kill zombies.
- if POSIX:
- ret = wait_pid(proc.pid, timeout)
- proc.returncode = ret
- return ret
- else:
- return proc.wait(timeout)
+ try:
+ return psutil.Process(proc.pid).wait(timeout)
+ except psutil.NoSuchProcess:
+ # Needed to kill zombies.
+ if POSIX:
+ return wait_pid(proc.pid, timeout)
def term_subproc(proc, timeout):
try: