On 09/01/2011 02:50 AM, Paul Gilmartin wrote:
> Perhaps if I:
>
> 'addpipe *.output.C: | runpipe | faninany | *.input.B:'
>
> (needs embellishment). Then any stage description I write
>
> select output C
> output some-stage
>
> should run asynchronously, and I can capture its output from B:.
To connect the outputs downstream you need PIPCMD rather than RUNPIPE.
And you'll have to add each one to the existing output with FANINANY:
'addpipe *.out.C:' ,
'| specs "addpipe (end ?) *.out:' ,
'|| f: faninany' ,
'|| *:' ,
'?" 1 1-* n' ,
'"|| f:" n' ,
'| pipcmd' ,
'| *.in.B:'
There's a major pitfall anytime you try to read your own output, though:
If there's no output to read, your stage can't get control back to
write any or to sever the stream, so it will stall. Unless you know for
certain that your added pipelines will have some output waiting, it
won't be safe to read input B until after you've severed output C.
¬R