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
