"Schuh, Richard" wrote:
> 'PIPE (end \) ... build commands  ... | f: fanout | spec /response/ 1 | stack 
> \ f: | command | cons'

> if the command fails and crashes the pipe, the worst that can happen
> after the crash is one unrecognized command.

How about when one command fails to read its response from the stack but
*doesn't* kill the whole pipe, though?  If you're really using the same
response every time, it won't matter, but otherwise all the remaining
commands will read the wrong responses.  You can avoid this by using
another copy of the input record to empty the stack after each command:

  \ f: | specs /callpipe stack || *:/ 1 | pipcmd | ... report errors ...

If you don't care about these errors, I suppose you could use STACK LIFO
and just let the unread responses pile up.  Actually, STACK LIFO might
be a good idea either way, so you don't have to worry about what might
be on the stack when you start.

¬R

Reply via email to