!freopen(tty, "w", stdout) ||
!freopen(tty, "w", stderr) ||
chdir("/"))
- ERROR("failed to set stdio\n");
+ ERROR("failed to set stdio: %m\n");
else
fcntl(STDERR_FILENO, F_SETFL, fcntl(STDERR_FILENO, F_GETFL) | O_NONBLOCK);
}
}
if (chdir("/dev")) {
- ERROR("failed to change dir to /dev\n");
+ ERROR("failed to change dir to /dev: %m\n");
return;
}
while (tty!=NULL) {
i++;
}
if (chdir("/"))
- ERROR("failed to change dir to /\n");
+ ERROR("failed to change dir to /: %m\n");
if (tty != NULL)
set_stdio(tty);
set_stdio("console");
LOG("- ubus -\n");
procd_connect_ubus();
- service_init();
service_start_early("ubus", ubus_cmd);
break;
case STATE_RUNNING:
LOG("- init complete -\n");
+ procd_inittab_run("respawnlate");
+ procd_inittab_run("askconsolelate");
break;
case STATE_SHUTDOWN:
kill(-1, SIGKILL);
sync();
sleep(1);
+#ifndef DISABLE_INIT
if (reboot_event == RB_POWER_OFF)
LOG("- power down -\n");
else
reboot(reboot_event);
_exit(EXIT_SUCCESS);
}
-
while (1)
sleep(1);
+#else
+ exit(0);
+#endif
break;
default: