init: reboot immediately if /data isn't mounted
All of the logic in reboot.cpp is meant to safely shutdown services, safely unmount emulated RW file systems, then finally unmount the remaining RW file systems, particularly /data. If /data hasn't been mounted, then none of this logic is required. Running this logic caused a lock up when shutting down blueline from early-init. Vold, or potentially a related HAL, locked up during the ShutdownVold() calls. debuggerd separately locked up in the watchdog thread. Therefore, this change immediately reboots if /data is not mounted. It also removes the lines to call into debuggerd. debuggerd will not run due to SELinux in any case, so it can only be used when hands-on debugging a device. Bug: 141082587 Test: shutdown with /data mounted continues as normal Test: shutdown from early-init immediately shuts the device down Change-Id: I79c72346b17c7dfe57e955d9739bcaf559badc14
Loading
Please register or sign in to comment