diff options
-rw-r--r-- | test/ChangeLog | 7 | ||||
-rw-r--r-- | test/iolint.awk | 2 | ||||
-rw-r--r-- | test/iolint.ok | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index 3f368170..1fb76bab 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,10 @@ +2021-12-07 Andrew J. Schorr <aschorr@telemetry-investments.com> + + * iolint.awk, iolint.ok: Reorder "cat" pipe/output file test to reduce + the likelihood of a race condition, since close operates on the + most-recently-used item. Thanks to Miguel Pineiro Jr., + <mpj@pineiro.cc>, for suggesting the fix. + 2021-11-21 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (EXTRA_DIST): stupid5, new test. diff --git a/test/iolint.awk b/test/iolint.awk index 042f743b..3ebaf436 100644 --- a/test/iolint.awk +++ b/test/iolint.awk @@ -49,8 +49,8 @@ BEGIN { # `%.*s' used for output pipe and two-way pipe # Not doing |& due to race condition and signals. sigh cat = "cat" - print "hello" | "cat" print "/bin/cat \"$@\"" > "cat" + print "hello" | "cat" print close("cat") print close("cat") fflush() diff --git a/test/iolint.ok b/test/iolint.ok index 7a165aa9..860bcfbf 100644 --- a/test/iolint.ok +++ b/test/iolint.ok @@ -20,9 +20,9 @@ gawk: iolint.awk:42: warning: `echo hello' used for input pipe and output file 0 0 gawk: iolint.awk:53: warning: `cat' used for output file and output pipe -0 hello 0 +0 gawk: iolint.awk:67: warning: `eval $CMD_TO_RUN' used for input pipe and output pipe 0 0 |