Avoids data loss when systemd freezes and a hard-reset is required.
---
 src/main.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/main.c b/src/main.c
index 99e277c..82c8ddb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -169,6 +169,7 @@ _noreturn_ static void crash(int sig) {
                 log_info("Successfully spawned crash shall as pid %lu.", 
(unsigned long) pid);
         }
 
+        sync();
         log_info("Freezing execution.");
         freeze();
 }
@@ -1297,8 +1298,10 @@ finish:
                 log_error("Failed to execute shutdown binary, freezing: %m");
         }
 
-        if (getpid() == 1)
+        if (getpid() == 1) {
+                sync();
                 freeze();
+       }
 
         return retval;
 }
-- 
1.7.3.4

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to