From: Dan Liew Date: Wed, 13 Jan 2016 16:43:49 +0000 (+0000) Subject: [lit] Fix handling of per test timeout when the installed psutil version X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5ef672de8d5bcad2936fa0a77d5e27aab40654e7;p=oota-llvm.git [lit] Fix handling of per test timeout when the installed psutil version is < ``2.0``. Older versions of psutil (e.g. ``1.2.1`` which is the version shipped with Ubuntu 14.04) use a different API for retrieving the child processes. To handle this try the new API first and if that fails try the old API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257616 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/lit/lit/util.py b/utils/lit/lit/util.py index a6e8d52c075..40a57716869 100644 --- a/utils/lit/lit/util.py +++ b/utils/lit/lit/util.py @@ -267,7 +267,14 @@ def killProcessAndChildren(pid): import psutil try: psutilProc = psutil.Process(pid) - for child in psutilProc.children(recursive=True): + # Handle the different psutil API versions + try: + # psutil >= 2.x + children_iterator = psutilProc.children(recursive=True) + except AttributeError: + # psutil 1.x + children_iterator = psutilProc.get_children(recursive=True) + for child in children_iterator: try: child.kill() except psutil.NoSuchProcess: