I was surprised to get a stall at EOF from this simple CALLPIPE:

  'callpipe (end /) *: | sql nocommit execute | *:' ,
    '/ *..1: | sql nocommit execute | *..1:'

when output 0 was fed back into input 1.  The stall doesn't have
anything to do with SQL; it happens with any stages.  If I use ADDPIPE
instead, it terminates fine.  With CALLPIPE, I have to include something
like GATE to sever the fed back input at EOF.  It can be in the calling
pipeline:

  'PIPE (end /)' input '| 0: chop 0 | take last 1 | stop: gate' ,
    '/ 0: | a:' mystage etc. '| a: |' output

or it can be on the input side of the CALLPIPE:

  'callpipe (end /) *: | 0: chop 0 | take last 1 | stop: gate' ,
    '/ 0: | insert ,0, | *:' ,
    '/ *..1: | stop: | insert ,1, | *..1:'

It doesn't help if it's on the output side, though.  This still stalls:

  'callpipe (end /) *: | 0: chop 0 | take last 1 | stop: gate' ,
    '/ 0: | insert ,0, | stop: | *:' ,
    '/ *..1: | insert ,1, | *..1:'

¬R

Reply via email to