'STREAMSTATE INPUT' should not be required here...
My guess is that "process" has set the returncode to 0, so your
do-loop condition check is not testing the return code of READTO.
The pseudocode also suggests your stage does "delay the record". You
should code it like this:
'PEEKTO INPUT' /* Get first record, without consuming it */
Do while rc=0
<process>
'READTO' /* consume the handled record */
'PEEKTO INPUT' /* get next record or stop */
end
2008/6/9 Berry van Sleeuwen <[EMAIL PROTECTED]>:
>
> Hello Rob,
>
> It looks like you are right. When testing, all stages end except the
> colltest stage. Even more so, when gate severs the connections colltest
>
> gets into a loop.
>
> The stage reads:
> Do while rc=0
> readto input
> <process>
> end
>
> When the gate stage kicks in, STARMON ends and so do the other stages.
>
> Colltest however keeps on reading the input and very fast I must add (99%
>
> cpu, 8000+ IO).
>
> So I had to add a bit to the rexx stage:
>
> Do while rc=0
> streamstate input 0
> if find('12 -4', rc) then rc = '12'
> Else do
> Readto input
> <process>
> end
> end
>
> Now the streamstate detects there is no inputstream, either not present o
> r
> no longer connected and sets rc to 12 if it is not already. Otherwise the
>
> stage will process it's data. Now, when gate severs the inputstream the
>
> colltest stage will end and so does the pipeline itself.
>
> Thanks for your help.
>
> Regards, Berry.
--
Kris Buelens,
IBM Belgium, VM customer support