Merge "Shutdown all connections when sync service is hung" into froyo

This commit is contained in:
Marc Blank 2010-04-27 23:17:41 -07:00 committed by Android (Google) Code Review
commit f7369ad51f

View File

@ -1177,6 +1177,11 @@ public class SyncManager extends Service implements Runnable {
return sClientConnectionManager; return sClientConnectionManager;
} }
static private synchronized void shutdownConnectionManager() {
sClientConnectionManager.shutdown();
sClientConnectionManager = null;
}
public static void stopAccountSyncs(long acctId) { public static void stopAccountSyncs(long acctId) {
SyncManager syncManager = INSTANCE; SyncManager syncManager = INSTANCE;
if (syncManager != null) { if (syncManager != null) {
@ -1448,6 +1453,9 @@ public class SyncManager extends Service implements Runnable {
// thread to do the work // thread to do the work
log("Alarm failed; releasing mailbox"); log("Alarm failed; releasing mailbox");
syncManager.releaseMailbox(id); syncManager.releaseMailbox(id);
// Shutdown the connection manager; this should close all of our
// sockets and generate IOExceptions all around.
syncManager.shutdownConnectionManager();
} }
} }
}}).start(); }}).start();