From 8ba8c1648c38cd339b09501a057fc2f5b0658b10 Mon Sep 17 00:00:00 2001 From: Marc Blank Date: Wed, 3 Aug 2011 15:40:16 -0700 Subject: [PATCH] Prevent leaking ServiceConnection when process/threads killed Change-Id: Id5d85fbdd0d044a59cc61748432e3f714264bcd5 --- .../src/com/android/emailcommon/service/ServiceProxy.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/emailcommon/src/com/android/emailcommon/service/ServiceProxy.java b/emailcommon/src/com/android/emailcommon/service/ServiceProxy.java index 925074237..8e3bcffb8 100644 --- a/emailcommon/src/com/android/emailcommon/service/ServiceProxy.java +++ b/emailcommon/src/com/android/emailcommon/service/ServiceProxy.java @@ -76,7 +76,11 @@ public abstract class ServiceProxy { // Run our task on a new thread new Thread(new Runnable() { public void run() { - runTask(); + try { + runTask(); + } finally { + endTask(); + } }}).start(); } @@ -134,7 +138,6 @@ public abstract class ServiceProxy { thread.join(); } catch (InterruptedException e) { } - endTask(); } public boolean setTask(ProxyTask task, String name) {