Loading init/reboot.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -741,12 +741,15 @@ static Result<void> DoUserspaceReboot() { }); // Triggering userspace-reboot-requested will result in a bunch of setprop // actions. We should make sure, that all of them are propagated before // proceeding with userspace reboot. Synchronously setting kUserspaceRebootInProgress property // is not perfect, but it should do the trick. // proceeding with userspace reboot. Synchronously setting sys.init.userspace_reboot.in_progress // property is not perfect, but it should do the trick. if (!android::sysprop::InitProperties::userspace_reboot_in_progress(true)) { return Error() << "Failed to set sys.init.userspace_reboot.in_progress property"; } EnterShutdown(); if (!SetProperty("sys.powerctl", "")) { return Error() << "Failed to reset sys.powerctl property"; } std::vector<Service*> stop_first; // Remember the services that were enabled. We will need to manually enable them again otherwise // triggers like class_start won't restart them. Loading rootdir/init.rc +2 −0 Original line number Diff line number Diff line Loading @@ -1012,6 +1012,7 @@ on userspace-reboot-requested setprop apexd.status "" setprop sys.user.0.ce_available "" setprop sys.shutdown.requested "" setprop service.bootanim.exit "" on userspace-reboot-fs-remount # Make sure that vold is running. Loading @@ -1021,6 +1022,7 @@ on userspace-reboot-fs-remount exec - system system -- /system/bin/vdc checkpoint resetCheckpoint exec - system system -- /system/bin/vdc checkpoint markBootAttempt remount_userdata start bootanim on userspace-reboot-resume trigger userspace-reboot-fs-remount Loading Loading
init/reboot.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -741,12 +741,15 @@ static Result<void> DoUserspaceReboot() { }); // Triggering userspace-reboot-requested will result in a bunch of setprop // actions. We should make sure, that all of them are propagated before // proceeding with userspace reboot. Synchronously setting kUserspaceRebootInProgress property // is not perfect, but it should do the trick. // proceeding with userspace reboot. Synchronously setting sys.init.userspace_reboot.in_progress // property is not perfect, but it should do the trick. if (!android::sysprop::InitProperties::userspace_reboot_in_progress(true)) { return Error() << "Failed to set sys.init.userspace_reboot.in_progress property"; } EnterShutdown(); if (!SetProperty("sys.powerctl", "")) { return Error() << "Failed to reset sys.powerctl property"; } std::vector<Service*> stop_first; // Remember the services that were enabled. We will need to manually enable them again otherwise // triggers like class_start won't restart them. Loading
rootdir/init.rc +2 −0 Original line number Diff line number Diff line Loading @@ -1012,6 +1012,7 @@ on userspace-reboot-requested setprop apexd.status "" setprop sys.user.0.ce_available "" setprop sys.shutdown.requested "" setprop service.bootanim.exit "" on userspace-reboot-fs-remount # Make sure that vold is running. Loading @@ -1021,6 +1022,7 @@ on userspace-reboot-fs-remount exec - system system -- /system/bin/vdc checkpoint resetCheckpoint exec - system system -- /system/bin/vdc checkpoint markBootAttempt remount_userdata start bootanim on userspace-reboot-resume trigger userspace-reboot-fs-remount Loading