I have a pipe that builds and issues some commands. It is necessary to have a 
single response in the stack for each command that is issued. The scheme that I 
came up with is:

'PIPE (end \) ... build commands  ... | f: fanout | spec /response/ 1 | stack \ 
f: | command | cons'

This should work, as it appears to, because the command is not sent to the 
secondary stream until the stack sends its eof back on the primary. The vendor 
program invoked in the command stage clears the stack before it exits, so I 
cannot stage all responses ahead of time. The stacked response is not the same 
as any CMS or CP command or EXEC, so that if the command fails and crashes the 
pipe, the worst that can happen after the crash is one unrecognized command.

There two questions I have for those who are deeper into Pipes than am I.

1. Are there any pitfalls or gotchas that will cause problems with the method I 
am using?
2. Is there a better way to accomplish this?

I know that there is a synch stage that could be used, but it seems to be 
overkill in this case where there is a 1:1 relationship between the stacked 
responses and the commands and the order in which streams are executed is 
documented.


Regards,
Richard Schuh

Reply via email to