diff options
author | mmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-12 00:05:19 +0000 |
---|---|---|
committer | mmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-12 00:05:19 +0000 |
commit | 8533da5619ef980f299787ec1e643fc0631532ee (patch) | |
tree | 3ff20b09d4f8a609a6d4f670364db907fece6f70 | |
parent | 62ec1b11f5a4ba174dfeedd643887ea3d58ef687 (diff) | |
download | chromium_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.py | 9 | ||||
-rw-r--r-- | webkit/tools/layout_tests/layout_package/platform_utils_mac.py | 8 |
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. |