switch (state) {
case STATE_EARLY:
LOG("- early -\n");
- watchdog_init();
+ watchdog_init(0);
hotplug("/etc/hotplug.json");
procd_coldplug();
break;
case STATE_INIT:
+ // try to reopen incase the wdt was not available before coldplug
+ watchdog_init(0);
LOG("- init -\n");
log_init();
procd_connect_ubus();
procd_inittab();
+ procd_inittab_run("respawn");
procd_inittab_run("askconsole");
procd_inittab_run("askfirst");
procd_inittab_run("sysinit");
case STATE_SHUTDOWN:
LOG("- shutdown -\n");
procd_inittab_run("shutdown");
+ sync();
break;
case STATE_HALT:
LOG("- reboot -\n");
- sync();
- sleep(1);
reboot(reboot_event);
break;
void procd_shutdown(int event)
{
- DEBUG(1, "Shutting down system with event %x\n", reboot_event);
+ DEBUG(1, "Shutting down system with event %x\n", event);
reboot_event = event;
state = STATE_SHUTDOWN;
state_enter();