Blame test/pipeio1.awk

Packit Service f629e6
# From dragon!gamgee.acad.emich.edu!dhw Tue Mar 18 01:12:15 1997
Packit Service f629e6
# Return-Path: <dragon!gamgee.acad.emich.edu!dhw>
Packit Service f629e6
# Message-ID: <m0w6owW-000IDSC@gamgee.acad.emich.edu>
Packit Service f629e6
# Date: Mon, 17 Mar 97 20:48 CST
Packit Service f629e6
# From: dhw@gamgee.acad.emich.edu (David H. West)
Packit Service f629e6
# To: arnold@gnu.ai.mit.edu
Packit Service f629e6
# Subject: gawk 3.0.2 bug report (cc of msg to bug-gnu-utils)
Packit Service f629e6
# Status: OR
Packit Service f629e6
# Content-Length: 869
Packit Service f629e6
# X-Lines: 20
Packit Service f629e6
# X-Display-Position: 2
Packit Service f629e6
# 
Packit Service f629e6
# Nature of bug: operation on a pipe side-effects a different pipe.
Packit Service f629e6
# Observed-With: gawk 3.0.2, Linux kernel 2.0.28
Packit Service f629e6
# Reproduce-By: running the following script, without and with the "close"
Packit Service f629e6
#               statement uncommented.
Packit Service f629e6
# -----------------cut here--------------------------
Packit Service f629e6
BEGIN {FILE1="test1"; FILE2="test2"; 
Packit Service f629e6
       print "1\n" > FILE1; close(FILE1);
Packit Service f629e6
       print "2\n" > FILE2; close(FILE2); 
Packit Service f629e6
       cmd1="cat " FILE1; cmd2="cat " FILE2;
Packit Service f629e6
       #end of preparing commands which give easily-predictable output
Packit Service f629e6
Packit Service f629e6
       while( (cmd1 | getline)==1) { #terminates as file has only 1 line
Packit Service f629e6
                                     #and we never close cmd1
Packit Service f629e6
          cmd2 | getline L; 
Packit Service f629e6
          #BUG: uncommenting the following line causes an infinite loop
Packit Service f629e6
          close(cmd2);
Packit Service f629e6
          print $0,L;
Packit Service f629e6
          }
Packit Service f629e6
      }