summaryrefslogtreecommitdiffstats
path: root/trunk/src/verify.c
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/verify.c')
-rw-r--r--trunk/src/verify.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/trunk/src/verify.c b/trunk/src/verify.c
index 8acecfb..8a3d89a 100644
--- a/trunk/src/verify.c
+++ b/trunk/src/verify.c
@@ -409,6 +409,9 @@ prelink_verify (const char *filename)
if (handle_verify (fdundone, filename))
goto failure;
+ fsync (fd);
+ fsync (fdorig);
+ fsync (fdundone);
close (fd);
close (fdorig);
close (fdundone);
@@ -418,11 +421,20 @@ failure_unlink:
unlink (ent->filename);
failure:
if (fd != -1)
- close (fd);
+ {
+ fsync (fd);
+ close (fd);
+ }
if (fdorig != -1)
- close (fdorig);
+ {
+ fsync (fdorig);
+ close (fdorig);
+ }
if (fdundone != -1)
- close (fdundone);
+ {
+ fsync (fdundone);
+ close (fdundone);
+ }
if (dso)
close_dso (dso);
if (dso2)
@@ -437,6 +449,7 @@ not_prelinked:
error (EXIT_FAILURE, errno, "Couldn't open %s", filename);
if (handle_verify (fd, filename))
return EXIT_FAILURE;
+ fsync (fd);
close (fd);
return 0;
}