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

Commit 67ce114b authored by Pinyao Ting's avatar Pinyao Ting Committed by Automerger Merge Worker
Browse files

Merge "Fixes an edge case which leads to deadlock in ShortcutService" into...

Merge "Fixes an edge case which leads to deadlock in ShortcutService" into tm-qpr-dev am: 40ab17b0 am: f19305b7

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19815919



Change-Id: I38b4312366741dfdb82a024b386e57fe513cab94
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents c6ab602b f19305b7
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -280,6 +280,7 @@ public class ShortcutService extends IShortcutService.Stub {

    private final Object mLock = new Object();
    private final Object mNonPersistentUsersLock = new Object();
    private final Object mWtfLock = new Object();

    private static List<ResolveInfo> EMPTY_RESOLVE_INFO = new ArrayList<>(0);

@@ -444,10 +445,10 @@ public class ShortcutService extends IShortcutService.Stub {
    @interface ShortcutOperation {
    }

    @GuardedBy("mLock")
    @GuardedBy("mWtfLock")
    private int mWtfCount = 0;

    @GuardedBy("mLock")
    @GuardedBy("mWtfLock")
    private Exception mLastWtfStacktrace;

    @GuardedBy("mLock")
@@ -4727,6 +4728,7 @@ public class ShortcutService extends IShortcutService.Stub {

                mStatLogger.dump(pw, "  ");

                synchronized (mWtfLock) {
                    pw.println();
                    pw.print("  #Failures: ");
                    pw.println(mWtfCount);
@@ -4735,6 +4737,7 @@ public class ShortcutService extends IShortcutService.Stub {
                        pw.print("  Last failure stack trace: ");
                        pw.println(Log.getStackTraceString(mLastWtfStacktrace));
                    }
                }

                pw.println();
            }
@@ -5148,7 +5151,7 @@ public class ShortcutService extends IShortcutService.Stub {
        if (e == null) {
            e = new RuntimeException("Stacktrace");
        }
        synchronized (mLock) {
        synchronized (mWtfLock) {
            mWtfCount++;
            mLastWtfStacktrace = new Exception("Last failure was logged here:");
        }