Move unlink("/dev/.booting") until after filesystems are mounted.

Move the unlink out of init.c and into init.rc, so that the file
will be removed after all the filesystems with firmware are up.

Change-Id: I7442df2042cc2788d0301f00e3c2fba7d6e0e1c7
This commit is contained in:
Riley Andrews 2014-07-11 15:05:23 -07:00
parent 56cbd19b1b
commit 9464e5a58d
2 changed files with 15 additions and 15 deletions

View File

@ -817,27 +817,21 @@ static int property_service_init_action(int nargs, char **args)
* that /data/local.prop cannot interfere with them.
*/
start_property_service();
if (get_property_set_fd() < 0) {
ERROR("start_property_service() failed\n");
exit(1);
}
return 0;
}
static int signal_init_action(int nargs, char **args)
{
signal_init();
return 0;
}
static int check_startup_action(int nargs, char **args)
{
/* make sure we actually have all the pieces we need */
if ((get_property_set_fd() < 0) ||
(get_signal_fd() < 0)) {
ERROR("init startup failure\n");
if (get_signal_fd() < 0) {
ERROR("signal_init() failed\n");
exit(1);
}
/* signal that we hit this point */
unlink("/dev/.booting");
return 0;
}
@ -1098,7 +1092,6 @@ int main(int argc, char **argv)
queue_builtin_action(mix_hwrng_into_linux_rng_action, "mix_hwrng_into_linux_rng");
queue_builtin_action(property_service_init_action, "property_service_init");
queue_builtin_action(signal_init_action, "signal_init");
queue_builtin_action(check_startup_action, "check_startup");
/* Don't mount filesystems or start core system services if in charger mode. */
if (is_charger) {
@ -1107,7 +1100,7 @@ int main(int argc, char **argv)
action_for_each_trigger("late-init", action_add_queue_tail);
}
/* run all property triggers based on current state of the properties */
/* run all property triggers based on current state of the properties */
queue_builtin_action(queue_property_triggers_action, "queue_property_triggers");

View File

@ -164,6 +164,10 @@ on property:sys.boot_from_charger_mode=1
on load_all_props_action
load_all_props
# Indicate to fw loaders that the relevant mounts are up.
on firmware_mounts_complete
rm /dev/.booting
# Mount filesystems and start core system services.
on late-init
trigger early-fs
@ -179,6 +183,9 @@ on late-init
trigger early-boot
trigger boot
# Remove a file to wake up anything waiting for firmware
trigger firmware_mounts_complete
on post-fs
# once everything is setup, no need to modify /
mount rootfs rootfs / ro remount