Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9f240e3 authored by Fred Quintana's avatar Fred Quintana
Browse files

Fix a deadlock in AccountManagerService cause by different

paths of code getting the mCacheLock and DB locks in different
orders.

The philosophy I followed for this was to ensure that the
DatabaseHelper is only ever accessed from within a
synchronized(mCacheLock) block. I also renamed a bunch of
methods to make it easier to know if a given method should
be called from within this synchronized block.

Bug: 3404506
Change-Id: Ia48f95e77b77647d0717f70f1d8364da3719cc13
parent 9d30f5bc
Loading
Loading
Loading
Loading
+350 −318

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ public class AccountManagerServiceTest extends AndroidTestCase {
        assertEquals(a21, accounts[1]);
        assertEquals(a31, accounts[2]);

        mAms.removeAccount(a21);
        mAms.removeAccountInternal(a21);

        accounts = mAms.getAccounts("type1" );
        Arrays.sort(accounts, new AccountSorter());