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

Commit 950ee77f authored by tiger_huang's avatar tiger_huang Committed by Tiger Huang
Browse files

Remove the window whose client process has died or become zombie

Window Manager Service would fail to report window-resized to the
process which has become zombie. This would cause the window to
freeze screen continuously. In this case, we assume the process has
died and remove its window to recycle resources and to prevent it from
freezing the screen.

Change-Id: Ic7384731bf9a1fa8b9602d4f1dbee7492db126c5
parent 71f83672
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1407,6 +1407,11 @@ final class WindowState implements WindowManagerPolicy.WindowState {
            mOrientationChanging = false;
            mLastFreezeDuration = (int)(SystemClock.elapsedRealtime()
                    - mService.mDisplayFreezeTime);
            // We are assuming the hosting process is dead or in a zombie state.
            Slog.w(TAG, "Failed to report 'resized' to the client of " + this
                    + ", removing this window.");
            mService.mPendingRemove.add(this);
            mService.requestTraversalLocked();
        }
    }