From d67b236497d87223e8373d96c274c97cfbcab0cb Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Mon, 26 Jul 2010 07:18:21 -0400 Subject: [PATCH] Avoid starting multiple threads in ShutdownThread The previous code allowed this to happen if a second call to shutdown happened while the dialog was being displayed. BUG: 2563243 Change-Id: I93adc4ef316917a79002d580b17eda0dc354704c Signed-off-by: Mike Lockwood --- core/java/com/android/internal/app/ShutdownThread.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/java/com/android/internal/app/ShutdownThread.java b/core/java/com/android/internal/app/ShutdownThread.java index a96253bb4bc4a..d1aff2a0bfb80 100644 --- a/core/java/com/android/internal/app/ShutdownThread.java +++ b/core/java/com/android/internal/app/ShutdownThread.java @@ -84,7 +84,7 @@ public final class ShutdownThread extends Thread { public static void shutdown(final Context context, boolean confirm) { // ensure that only one thread is trying to power down. // any additional calls are just returned - synchronized (sIsStartedGuard){ + synchronized (sIsStartedGuard) { if (sIsStarted) { Log.d(TAG, "Request to shutdown already running, returning."); return; @@ -133,6 +133,10 @@ public final class ShutdownThread extends Thread { private static void beginShutdownSequence(Context context) { synchronized (sIsStartedGuard) { + if (sIsStarted) { + Log.d(TAG, "Request to shutdown already running, returning."); + return; + } sIsStarted = true; }