From 2255e8ed7785ce2570e2908536ee3d9d1a5a2ebc Mon Sep 17 00:00:00 2001 From: Kalesh Singh Date: Wed, 14 Dec 2022 11:24:56 -0800 Subject: [PATCH] init: Take wakelock on zygote restart If the framework is restarting (and cannot yet aquire wakelocks to block suspend). Take a kernel wakelock to allow the system to make sufficient progress before autosuspend can be triggered. The wakelock is later disable when the framework has and invokeds enableAutosuspend() on the suspend service. Bug: 255898234 Test: adb shell "echo mem > /sys/power/state && killall system_server" Change-Id: Id8cff6564ef05d8c22a8264c51dd313263cb6a9d --- rootdir/init.zygote32.rc | 3 +++ rootdir/init.zygote64.rc | 3 +++ 2 files changed, 6 insertions(+) diff --git a/rootdir/init.zygote32.rc b/rootdir/init.zygote32.rc index 63b09c0d6..2f0ec8a17 100644 --- a/rootdir/init.zygote32.rc +++ b/rootdir/init.zygote32.rc @@ -7,6 +7,9 @@ service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-sys socket usap_pool_primary stream 660 root system onrestart exec_background - system system -- /system/bin/vdc volume abort_fuse onrestart write /sys/power/state on + # NOTE: If the wakelock name here is changed, then also + # update it in SystemSuspend.cpp + onrestart write /sys/power/wake_lock zygote_kwl onrestart restart audioserver onrestart restart cameraserver onrestart restart media diff --git a/rootdir/init.zygote64.rc b/rootdir/init.zygote64.rc index b6ca5c001..74a64c80f 100644 --- a/rootdir/init.zygote64.rc +++ b/rootdir/init.zygote64.rc @@ -7,6 +7,9 @@ service zygote /system/bin/app_process64 -Xzygote /system/bin --zygote --start-s socket usap_pool_primary stream 660 root system onrestart exec_background - system system -- /system/bin/vdc volume abort_fuse onrestart write /sys/power/state on + # NOTE: If the wakelock name here is changed, then also + # update it in SystemSuspend.cpp + onrestart write /sys/power/wake_lock zygote_kwl onrestart restart audioserver onrestart restart cameraserver onrestart restart media