summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-12 00:05:19 +0000
committermmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-12 00:05:19 +0000
commit8533da5619ef980f299787ec1e643fc0631532ee (patch)
tree3ff20b09d4f8a609a6d4f670364db907fece6f70
parent62ec1b11f5a4ba174dfeedd643887ea3d58ef687 (diff)
downloadchromium_src-8533da5619ef980f299787ec1e643fc0631532ee.zip
chromium_src-8533da5619ef980f299787ec1e643fc0631532ee.tar.gz
chromium_src-8533da5619ef980f299787ec1e643fc0631532ee.tar.bz2
Add a bit of error handling to web server shutdown.
Review URL: http://codereview.chromium.org/494004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34393 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--webkit/tools/layout_tests/layout_package/platform_utils_linux.py9
-rw-r--r--webkit/tools/layout_tests/layout_package/platform_utils_mac.py8
2 files changed, 14 insertions, 3 deletions
diff --git a/webkit/tools/layout_tests/layout_package/platform_utils_linux.py b/webkit/tools/layout_tests/layout_package/platform_utils_linux.py
index fac1b97..a340dd2 100644
--- a/webkit/tools/layout_tests/layout_package/platform_utils_linux.py
+++ b/webkit/tools/layout_tests/layout_package/platform_utils_linux.py
@@ -141,8 +141,13 @@ def ShutDownHTTPServer(server_pid):
stderr=null)
null.close()
else:
- os.kill(server_pid, signal.SIGTERM)
- #TODO(mmoss) Maybe throw in a SIGKILL just to be sure?
+ try:
+ os.kill(server_pid, signal.SIGTERM)
+ #TODO(mmoss) Maybe throw in a SIGKILL just to be sure?
+ except OSError:
+ # Sometimes we get a bad PID (e.g. from a stale httpd.pid file), so if
+ # kill fails on the given PID, just try to 'killall' web servers.
+ ShutDownHTTPServer(None)
def KillProcess(pid):
"""Forcefully kill the process.
diff --git a/webkit/tools/layout_tests/layout_package/platform_utils_mac.py b/webkit/tools/layout_tests/layout_package/platform_utils_mac.py
index e0a78ee..7065a59 100644
--- a/webkit/tools/layout_tests/layout_package/platform_utils_mac.py
+++ b/webkit/tools/layout_tests/layout_package/platform_utils_mac.py
@@ -124,7 +124,13 @@ def ShutDownHTTPServer(server_pid):
stderr=null)
null.close()
else:
- os.kill(server_pid, signal.SIGTERM)
+ try:
+ os.kill(server_pid, signal.SIGTERM)
+ #TODO(mmoss) Maybe throw in a SIGKILL just to be sure?
+ except OSError:
+ # Sometimes we get a bad PID (e.g. from a stale httpd.pid file), so if
+ # kill fails on the given PID, just try to 'killall' web servers.
+ ShutDownHTTPServer(None)
def KillProcess(pid):
"""Forcefully kill the process.