From: Ian Lynagh Date: Wed, 29 Apr 2009 15:12:15 +0000 (+0000) Subject: In mkdependC.prl, create temp files properly X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=d611f0b5e71134cdbc8749aa3c02476d0db5283a In mkdependC.prl, create temp files properly Avoids a race condition, where one run deletes/overwrites the temp file of another. --- diff --git a/utils/mkdependC/mkdependC.prl b/utils/mkdependC/mkdependC.prl index 166c3f1..6f06b1c 100644 --- a/utils/mkdependC/mkdependC.prl +++ b/utils/mkdependC/mkdependC.prl @@ -6,6 +6,9 @@ # # ToDo: strip out all the .h junk # + +use File::Temp qw/ tempfile tempdir /;; + ($Pgm = $0) =~ s/.*\/([^\/]+)$/\1/; $Usage = "usage: $Pgm: not done yet\n"; @@ -178,8 +181,8 @@ sub slurp_file { # follows an example in the `open' item in perl man page $fname = &tidy_dir_names($fname); - ($tempfile = $fname) =~ s/\.[^\.]*$/\.d/; - $tempfile =~ s|.*/([^/]+)$|$1|g; + ($fh, $tempfile) = tempfile(); + close $fh; # ${CPP} better be 'gcc -E', or the -x option will fail... # ..and the -MM & -MMD.