diff options
author | Elliott Hughes <enh@google.com> | 2016-11-29 19:20:58 +0000 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2016-12-03 10:54:26 -0800 |
commit | 331cf2fb7c16b5b25064f8d2f00284105a9b413f (patch) | |
tree | a8ac7d695885bed4a3fb60cdcdd1af9f4460a18c /init/builtins.cpp | |
parent | 48dfc220cbb1f1315a565edb18c8e03923b14aa3 (diff) |
Replace the "coldboot" timeout with a property.
Also rename init's existing boot-time related properties so they're
all "ro.*" properties.
Example result:
# Three properties showing when init started...
[ro.boottime.init]: [5294587604]
# ...how long it waited for ueventd...
[ro.boottime.init.cold_boot_wait]: [646956470]
# ...and how long SELinux initialization took...
[ro.boottime.init.selinux]: [45742921]
# Plus one property for each service, showing when it first started.
[ro.boottime.InputEventFind]: [10278767840]
[ro.boottime.adbd]: [8359267180]
[ro.boottime.atfwd]: [10338554773]
[ro.boottime.audioserver]: [10298157478]
[ro.boottime.bootanim]: [9323670089]
[ro.boottime.cameraserver]: [10299402321]
[ro.boottime.cnd]: [10335931856]
[ro.boottime.debuggerd]: [7001352774]
[ro.boottime.debuggerd64]: [7002261785]
[ro.boottime.drm]: [10301082113]
[ro.boottime.fingerprintd]: [10331443314]
[ro.boottime.flash-nanohub-fw]: [6995265534]
[ro.boottime.gatekeeperd]: [10340355242]
[ro.boottime.healthd]: [7856893380]
[ro.boottime.hwservicemanager]: [7856051088]
[ro.boottime.imscmservice]: [10290530758]
[ro.boottime.imsdatadaemon]: [10358136702]
[ro.boottime.imsqmidaemon]: [10289084872]
[ro.boottime.installd]: [10303296020]
[ro.boottime.irsc_util]: [10279807632]
[ro.boottime.keystore]: [10305034093]
[ro.boottime.lmkd]: [7863506714]
[ro.boottime.loc_launcher]: [10324525241]
[ro.boottime.logd]: [6526221633]
[ro.boottime.logd-reinit]: [7850662702]
[ro.boottime.mcfg-sh]: [10337268315]
[ro.boottime.media]: [10312152687]
[ro.boottime.mediacodec]: [10306852530]
[ro.boottime.mediadrm]: [10308707999]
[ro.boottime.mediaextractor]: [10310681177]
[ro.boottime.msm_irqbalance]: [7862451974]
[ro.boottime.netd]: [10313523104]
[ro.boottime.netmgrd]: [10285009351]
[ro.boottime.oem_qmi_server]: [10293329092]
[ro.boottime.per_mgr]: [7857915776]
[ro.boottime.per_proxy]: [8335121605]
[ro.boottime.perfd]: [10283443101]
[ro.boottime.qcamerasvr]: [10329644772]
[ro.boottime.qmuxd]: [10282346643]
[ro.boottime.qseecomd]: [6855708593]
[ro.boottime.qti]: [10286196851]
[ro.boottime.ril-daemon]: [10314933677]
[ro.boottime.rmt_storage]: [7859105047]
[ro.boottime.servicemanager]: [7864555881]
[ro.boottime.ss_ramdump]: [8337634938]
[ro.boottime.ssr_setup]: [8336268324]
[ro.boottime.surfaceflinger]: [7866921402]
[ro.boottime.thermal-engine]: [10281249924]
[ro.boottime.time_daemon]: [10322006542]
[ro.boottime.ueventd]: [5618663938]
[ro.boottime.vold]: [7003493920]
[ro.boottime.wificond]: [10316641073]
[ro.boottime.wpa_supplicant]: [18959816881]
[ro.boottime.zygote]: [10295295029]
[ro.boottime.zygote_secondary]: [10296637269]
Bug: http://b/31800756
Test: boots
Change-Id: I094cce0c1bab9406d950ca94212689dc2e15dba5
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r-- | init/builtins.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp index 6d58754a7..76e3d6e33 100644 --- a/init/builtins.cpp +++ b/init/builtins.cpp @@ -146,8 +146,7 @@ static int wipe_data_via_recovery(const std::string& reason) { LOG(ERROR) << "failed to set bootloader message: " << err; return -1; } - android_reboot(ANDROID_RB_RESTART2, 0, "recovery"); - while (1) { pause(); } // never reached + reboot("recovery"); } static void unmount_and_fsck(const struct mntent *entry) { @@ -727,7 +726,7 @@ static int do_powerctl(const std::vector<std::string>& args) { ServiceManager::GetInstance().ForEachService( [] (Service* s) { s->Terminate(); }); - while (t.duration() < delay) { + while (t.duration_s() < delay) { ServiceManager::GetInstance().ReapAnyOutstandingChildren(); int service_count = 0; @@ -751,11 +750,10 @@ static int do_powerctl(const std::vector<std::string>& args) { // Wait a bit before recounting the number or running services. std::this_thread::sleep_for(50ms); } - LOG(VERBOSE) << "Terminating running services took " << t.duration() << " seconds"; + LOG(VERBOSE) << "Terminating running services took " << t; } - return android_reboot_with_callback(cmd, 0, reboot_target, - callback_on_ro_remount); + return android_reboot_with_callback(cmd, 0, reboot_target, callback_on_ro_remount); } static int do_trigger(const std::vector<std::string>& args) { |