if (retries >= FINALIZE_ATTEMPTS)
log_error("Too many interations, giving up.");
+ execute_directory(SYSTEM_SHUTDOWN_PATH, NULL, NULL);
+
sync();
if (cmd == LINUX_REBOOT_CMD_KEXEC) {
log_warning("kexec failed. Falling back to normal reboot.");
} else {
/* Child */
- const char *args[5] = { KEXEC_BINARY_PATH, "-e", "-f", "-x", NULL };
+ const char *args[3] = { "/sbin/kexec", "-e", NULL };
execv(args[0], (char * const *) args);
return EXIT_FAILURE;
}
r = -errno;
error:
- sync();
log_error("Critical error while doing system shutdown: %s", strerror(-r));
freeze();