summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2017-11-13 00:00:30 +0100
committerGiampaolo Rodola <g.rodola@gmail.com>2017-11-13 00:00:30 +0100
commit40573cbe58407a3f8dfcb0c3b71237444b10fc0a (patch)
tree3ef2d6e9e50fdb89b475f83ae45ff690351a52f0
parent100391f880ef2a2c5b124bba4b0722623f3edb3e (diff)
downloadpsutil-40573cbe58407a3f8dfcb0c3b71237444b10fc0a.tar.gz
#1174: use TimeoutExpired in wait_pid()
-rw-r--r--CREDITS2
-rw-r--r--psutil/_psaix.py9
-rw-r--r--psutil/_psbsd.py6
-rw-r--r--psutil/_pslinux.py6
-rw-r--r--psutil/_psosx.py6
-rw-r--r--psutil/_psposix.py12
-rw-r--r--psutil/_pssunos.py6
7 files changed, 10 insertions, 37 deletions
diff --git a/CREDITS b/CREDITS
index ff242998..811f48fe 100644
--- a/CREDITS
+++ b/CREDITS
@@ -57,7 +57,7 @@ W: http://www.jayloden.com
N: Arnon Yaari (wiggin15)
W: https://github.com/wiggin15
-I: 517, 607, 610, 1131, 1123, 1130, 1154, 1164
+I: 517, 607, 610, 1131, 1123, 1130, 1154, 1164, 1174
N: Jeff Tang
W: https://github.com/mrjefftang
diff --git a/psutil/_psaix.py b/psutil/_psaix.py
index 36989623..9abc8d17 100644
--- a/psutil/_psaix.py
+++ b/psutil/_psaix.py
@@ -30,7 +30,6 @@ from ._common import usage_percent
from ._compat import PY3
from ._exceptions import AccessDenied
from ._exceptions import NoSuchProcess
-from ._exceptions import TimeoutExpired
from ._exceptions import ZombieProcess
@@ -559,13 +558,7 @@ class Process(object):
@wrap_exceptions
def wait(self, timeout=None):
- try:
- return _psposix.wait_pid(self.pid, timeout)
- except _psposix.TimeoutExpired:
- # support for private module import
- if TimeoutExpired is None:
- raise
- raise TimeoutExpired(timeout, self.pid, self._name)
+ return _psposix.wait_pid(self.pid, timeout, self._name)
@wrap_exceptions
def io_counters(self):
diff --git a/psutil/_psbsd.py b/psutil/_psbsd.py
index c26300a3..0553401a 100644
--- a/psutil/_psbsd.py
+++ b/psutil/_psbsd.py
@@ -29,7 +29,6 @@ from ._common import usage_percent
from ._compat import which
from ._exceptions import AccessDenied
from ._exceptions import NoSuchProcess
-from ._exceptions import TimeoutExpired
from ._exceptions import ZombieProcess
__extra__all__ = []
@@ -758,10 +757,7 @@ class Process(object):
@wrap_exceptions
def wait(self, timeout=None):
- try:
- return _psposix.wait_pid(self.pid, timeout)
- except _psposix.TimeoutExpired:
- raise TimeoutExpired(timeout, self.pid, self._name)
+ return _psposix.wait_pid(self.pid, timeout, self._name)
@wrap_exceptions
def nice_get(self):
diff --git a/psutil/_pslinux.py b/psutil/_pslinux.py
index fc38fb14..3fe62c5c 100644
--- a/psutil/_pslinux.py
+++ b/psutil/_pslinux.py
@@ -43,7 +43,6 @@ from ._compat import long
from ._compat import PY3
from ._exceptions import AccessDenied
from ._exceptions import NoSuchProcess
-from ._exceptions import TimeoutExpired
from ._exceptions import ZombieProcess
if sys.version_info >= (3, 4):
@@ -1534,10 +1533,7 @@ class Process(object):
@wrap_exceptions
def wait(self, timeout=None):
- try:
- return _psposix.wait_pid(self.pid, timeout)
- except _psposix.TimeoutExpired:
- raise TimeoutExpired(timeout, self.pid, self._name)
+ return _psposix.wait_pid(self.pid, timeout, self._name)
@wrap_exceptions
def create_time(self):
diff --git a/psutil/_psosx.py b/psutil/_psosx.py
index 583ed355..e9b6ed82 100644
--- a/psutil/_psosx.py
+++ b/psutil/_psosx.py
@@ -25,7 +25,6 @@ from ._common import socktype_to_enum
from ._common import usage_percent
from ._exceptions import AccessDenied
from ._exceptions import NoSuchProcess
-from ._exceptions import TimeoutExpired
from ._exceptions import ZombieProcess
@@ -500,10 +499,7 @@ class Process(object):
@wrap_exceptions
def wait(self, timeout=None):
- try:
- return _psposix.wait_pid(self.pid, timeout)
- except _psposix.TimeoutExpired:
- raise TimeoutExpired(timeout, self.pid, self._name)
+ return _psposix.wait_pid(self.pid, timeout, self._name)
@wrap_exceptions
def nice_get(self):
diff --git a/psutil/_psposix.py b/psutil/_psposix.py
index 66d81a3d..6bb8444d 100644
--- a/psutil/_psposix.py
+++ b/psutil/_psposix.py
@@ -15,14 +15,10 @@ from ._common import sdiskusage
from ._common import usage_percent
from ._compat import PY3
from ._compat import unicode
+from ._exceptions import TimeoutExpired
-__all__ = ['TimeoutExpired', 'pid_exists', 'wait_pid', 'disk_usage',
- 'get_terminal_map']
-
-
-class TimeoutExpired(Exception):
- pass
+__all__ = ['pid_exists', 'wait_pid', 'disk_usage', 'get_terminal_map']
def pid_exists(pid):
@@ -53,7 +49,7 @@ def pid_exists(pid):
return True
-def wait_pid(pid, timeout=None):
+def wait_pid(pid, timeout=None, proc_name=None):
"""Wait for process with pid 'pid' to terminate and return its
exit status code as an integer.
@@ -67,7 +63,7 @@ def wait_pid(pid, timeout=None):
def check_timeout(delay):
if timeout is not None:
if timer() >= stop_at:
- raise TimeoutExpired()
+ raise TimeoutExpired(timeout, pid=pid, name=proc_name)
time.sleep(delay)
return min(delay * 2, 0.04)
diff --git a/psutil/_pssunos.py b/psutil/_pssunos.py
index d1f5df79..5471d5aa 100644
--- a/psutil/_pssunos.py
+++ b/psutil/_pssunos.py
@@ -26,7 +26,6 @@ from ._compat import b
from ._compat import PY3
from ._exceptions import AccessDenied
from ._exceptions import NoSuchProcess
-from ._exceptions import TimeoutExpired
from ._exceptions import ZombieProcess
@@ -723,7 +722,4 @@ class Process(object):
@wrap_exceptions
def wait(self, timeout=None):
- try:
- return _psposix.wait_pid(self.pid, timeout)
- except _psposix.TimeoutExpired:
- raise TimeoutExpired(timeout, self.pid, self._name)
+ return _psposix.wait_pid(self.pid, timeout, self._name)