On 10/31/2014 2:50 PM, Bob Cronin wrote:
> I have a pipeline using starmsg to issue a structured query to an rscs
> machine. It is supposed to terminate after the last line of the response or
> 5 seconds have elapsed. Yet, it never terminated.

> pipe (end ?) strliteral /+5/
>   | delay
>   | a: faninany
>   | b: gate
>   ? starmsg cp smsg rscs the-query-command
>   | c: totarget pick w-4;* == /End of command response/
>   | b:
>   <stuff to process the response>
>   ? c:
>   | a:

Your culprit is TOTARGET, not GATE.  TOTARGET adds PICK in a subroutine
pipeline, and EOF is failing to propagate from one pipeline to the other
when GATE terminates.  I'm not adept enough at tracing this stuff to see
if PICK is still running, but STARMSG doesn't seem to get the message
that FANINANY has terminated.

TOTARGET|GATE is belt and suspenders--splitting the file twice at the
same place based on the same criterion.  Just remove TOTARGET (you can
replace it with NOT and then you don't have to rearrange anything) and
the pipeline works as you expected.

¬R

Reply via email to