From 13f00299526653d35c7787bb46aaf11e8eae3b73 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Wed, 7 Oct 2009 16:31:47 +0000 Subject: (substInFile) call fsync() when editing a non empty file --- NEWS | 1 + lib/MDK/Common/File.pm | 2 ++ 2 files changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 9254060..1dc5b8d 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,6 @@ - substInFile: o ensure we keep old file as file.bak until we wrote new file + o call fsync() when editing a non empty file Version 1.2.20 - 13 August 2009, by Aurelien Lefebvre diff --git a/lib/MDK/Common/File.pm b/lib/MDK/Common/File.pm index 71fe71c..cdcfcd9 100644 --- a/lib/MDK/Common/File.pm +++ b/lib/MDK/Common/File.pm @@ -289,6 +289,8 @@ sub substInFile(&@) { &$f($_); print; } + open(my $F, $file); + fsync($F); unlink "$file$^I"; # remove old backup now that we'have closed new file } else { local *F; my $old = select F; # that way eof return true -- cgit v1.2.1