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

Commit 0b554bab authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android Git Automerger
Browse files

am d400d03f: Merge "Fix issue #5595933: GREF leak due to race condition in..." into ics-mr1

* commit 'd400d03f':
  Fix issue #5595933: GREF leak due to race condition in...
parents 9acae658 d400d03f
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -901,6 +901,7 @@ public final class LoadedApk {
        private RuntimeException mUnbindLocation;

        private boolean mDied;
        private boolean mForgotten;

        private static class ConnectionInfo {
            IBinder binder;
@@ -959,6 +960,7 @@ public final class LoadedApk {
                    ci.binder.unlinkToDeath(ci.deathMonitor, 0);
                }
                mActiveConnections.clear();
                mForgotten = true;
            }
        }

@@ -1020,6 +1022,11 @@ public final class LoadedApk {
            ServiceDispatcher.ConnectionInfo info;

            synchronized (this) {
                if (mForgotten) {
                    // We unbound before receiving the connection; ignore
                    // any connection received.
                    return;
                }
                old = mActiveConnections.get(name);
                if (old != null && old.binder == service) {
                    // Huh, already have this one.  Oh well!