diff options
-rw-r--r-- | Master/tlpkg/TeXLive/TLPDB.pm | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Master/tlpkg/TeXLive/TLPDB.pm b/Master/tlpkg/TeXLive/TLPDB.pm index ef36e54aa48..e41aea078e2 100644 --- a/Master/tlpkg/TeXLive/TLPDB.pm +++ b/Master/tlpkg/TeXLive/TLPDB.pm @@ -101,6 +101,7 @@ use TeXLive::TLUtils qw(dirname mkdirhier member win32 info log debug ddebug use TeXLive::TLWinGoo; use Cwd 'abs_path'; +use File::Copy qw//; my $_listdir; @@ -628,9 +629,11 @@ sub save { open(FOO, ">$tmppath") || die "$0: open(>$tmppath) failed: $!"; $self->writeout(\*FOO); close(FOO); + # on Windows the renaming sometimes fails, try to copy and unlink the + # .tmp file. This we do for all archs, cannot hurt. # if we managed that one, we move it over - die ("rename $tmppath to $path failed: $!") - unless rename($tmppath, $path); + File::Copy::copy ($tmppath, $path) or die ("copy $tmppath to $path failed: $!"); + unlink ($tmppath) or tlwarn ("TLPDB: cannot unlink $tmppath: $!\n"); } =pod |