Add more logging for cancellation, and fix filtering logic.
BUG=chrome-os-partner:8497
TEST=Manual
Change-Id: I31faa9dfa0115d0174ebe1d623ca3e6cc5d33516
Reviewed-on: https://gerrit.chromium.org/gerrit/18214
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
diff --git a/goofy.py b/goofy.py
index 06f0bb3..432c50f 100755
--- a/goofy.py
+++ b/goofy.py
@@ -105,13 +105,13 @@
for i in range(25): # Try 25 times (200 ms between tries)
for pid in pids:
try:
+ logging.info("Sending signal %s to %d" % (sig, pid))
os.kill(pid, sig)
except OSError:
pass
- pids[:] = [pid for pid in pids
- if is_process_alive(pid)]
- if not pids:
- return
+ pids = filter(is_process_alive, pids)
+ if not pids:
+ return
time.sleep(0.2) # Sleep 200 ms and try again
logging.warn('Failed to stop %s process. Ignoring.', caption)