chiark / gitweb /
util: make string static
[elogind.git] / src / shutdown.c
index 11c7544fc7c50cd45c42673edd006d25a1f2f4ba..23b9f1b545ef204e49790d3057e1be8d01ada795 100644 (file)
@@ -336,6 +336,8 @@ int main(int argc, char *argv[]) {
         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) {
@@ -349,7 +351,7 @@ int main(int argc, char *argv[]) {
                         log_warning("kexec failed. Falling back to normal reboot.");
                 } else {
                         /* Child */
-                        const char *args[5] = { "/sbin/kexec", "-e", "-f", "-x", NULL };
+                        const char *args[3] = { "/sbin/kexec", "-e", NULL };
                         execv(args[0], (char * const *) args);
                         return EXIT_FAILURE;
                 }
@@ -362,7 +364,6 @@ int main(int argc, char *argv[]) {
         r = -errno;
 
   error:
-        sync();
         log_error("Critical error while doing system shutdown: %s", strerror(-r));
 
         freeze();