diff options
author | John Bowler <jbowler@acm.org> | 2011-12-08 09:37:24 -0600 |
---|---|---|
committer | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2011-12-08 09:37:24 -0600 |
commit | eb26ee66024076c3d5db98be3d0617a342719037 (patch) | |
tree | 4ae02ed24f5caaa11d65a8707df5e182ebbf25cf /scripts/checksym.awk | |
parent | 90a87c88534f22c8f5ef9b7cd35d34ae90338981 (diff) | |
download | libpng-eb26ee66024076c3d5db98be3d0617a342719037.tar.gz |
[libpng16] Fixed race conditions in parallel make builds. With higher degrees
of parallelism during 'make' the use of the same temporary file names such
as 'dfn*' can result in a race where a temporary file from one arm of the
build is deleted or overwritten in another arm. This changes the
temporary files for suffix rules to always use $* and ensures that the
non-suffix rules use unique file names.
Diffstat (limited to 'scripts/checksym.awk')
-rwxr-xr-x | scripts/checksym.awk | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/scripts/checksym.awk b/scripts/checksym.awk index ba4c99b56..6857dff1c 100755 --- a/scripts/checksym.awk +++ b/scripts/checksym.awk @@ -5,8 +5,9 @@ # awk -f checksym.awk official-def list-to-check # # Output is a file in the current directory called 'symbols.new', -# stdout holds error messages. Error code indicates success or -# failure. +# the value of the awk variable "of" (which can be changed on the +# command line if required.) stdout holds error messages. Error +# code indicates success or failure. # # NOTE: this is a pure, old fashioned, awk script. It will # work with any awk @@ -21,6 +22,7 @@ BEGIN{ mastero = 0 # highest ordinal in master file symbolo = 0 # highest ordinal in png.h missing = "error"# log an error on missing symbols + of="symbols.new" # default to a fixed name } # Read existing definitions from the master file (the first @@ -151,11 +153,11 @@ END{ # Finally generate symbols.new if (symbol[o] != "") - print " " symbol[o], "@" o > "symbols.new" + print " " symbol[o], "@" o > of } if (err != 0) { - print "*** A new list is in symbols.new ***" + print "*** A new list is in", of, "***" exit 1 } } |