Package: prelink / 0.0.20131005-1

fsync.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Description: Ensure to write the data on the disk when renamed a file 

Index: b/src/cache.c
===================================================================
--- a/src/cache.c
+++ b/src/cache.c
@@ -682,6 +682,7 @@
   if (write (fd, &cache, sizeof (cache)) != sizeof (cache)
       || write (fd, data, len) != len
       || fchmod (fd, 0644)
+      || fsync (fd)
       || close (fd)
       || rename (prelink_cache_tmp, prelink_cache))
     {
Index: b/src/dso.c
===================================================================
--- a/src/dso.c
+++ b/src/dso.c
@@ -1630,6 +1630,8 @@
     }
 
   elf_end (dso->elf);
+  if (dso_is_rdwr (dso))
+    fsync (dso->fd);
   close (dso->fd);
   if (dso->elfro)
     {