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

Commit bac40307 authored by Mike Lockwood's avatar Mike Lockwood Committed by Android (Google) Code Review
Browse files

Merge "Fix problems with new PowerManager.reboot() implementation."

parents 72611288 b62f9594
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -2211,26 +2211,22 @@ class PowerManagerService extends IPowerManager.Stub
            public void run() {
                synchronized (this) {
                    ShutdownThread.reboot(mContext, finalReason, false);
                    // if we get here we failed
                    notify();
                }
                
            }
        };

        // ShutdownThread must run on a looper capable of displaying the UI.
        mHandler.post(runnable);

        // block until we reboot or fail.
        // throw an exception if we failed to reboot
        // PowerManager.reboot() is documented not to return so just wait for the inevitable.
        synchronized (runnable) {
            while (true) {
                try {
                    runnable.wait();
                } catch (InterruptedException e) {
                }
            }
     
        // if we get here we failed
        throw new IllegalStateException("unable to reboot!");
        }
    }

    /**
+2 −1
Original line number Diff line number Diff line
@@ -4708,7 +4708,8 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
    final void appNotRespondingLocked(ProcessRecord app, HistoryRecord activity,
            HistoryRecord parent, final String annotation) {
        if (app.notResponding || app.crashing) {
        // PowerManager.reboot() can block for a long time, so ignore ANRs while shutting down.
        if (mShuttingDown || app.notResponding || app.crashing) {
            return;
        }