I think I found my memory overflow. Schematically, I have:
addstream output MINE
do I = 1 to 500
addpipe MINE | > 'FILE'I ft fm
select output MINE
begoutput end-out
...
write a few hundred lines.
...
end-out
... other stuff, perhaps involving other pipes ...
select output MINE
sever output
end I
Apparently buffers are not flushed until my Rexx stage
terminates, and I get:
>>> "callpipe command LISTFILE L1H18J0 HOLD* B (ISO NOH) | sort
word 8.9 desc | spec word
1.3 | stem Holds."
PIPFRE122E Insufficient free storage.
PIPMSG002I ... Processing "callpipe command LISTFILE L1H18J0 HOLD* B (ISO NOH".
+++ RC(-122) +++
At least I think that's what's happening. If I set the loop limit smaller
the problem does not occur. Is there a way to flush the buffers and recover
the storage without exiting my Rexx stage?
Do I need to nest another Rexx stage?
pipe query
PIPINX086I CMS/TSO Pipelines, 5654-030/5655-A17 1.0112 (Version.Release/Mod) -
Generated 30 Jul 2015 at 16:26:54.
Thanks,
gil