Sorry John, quite right.
It's *derived* from the example in the manual. My bad.
I'm not sure that FANOUT is the problem though: Here's a version without
it:
'pipe (end ?)',
'?i: faninany',
'| console',
'| locate \'termstring'\',
'| take 1',
'|g: gate strict',
'? starmsg',
'|g:',
'|i:',
Tape 0181 attached R/O
00000003GLTPFCV3Tape 0181 attached R/O
00000003GLTPFCV3VMTMNT073I Volume 'MV1194' ready on 0181 (0D35) R/O SL.
PIPDSP029E Pipelines stalled.
PIPMSG003I ... Issued from stage 4 of pipeline 1.
PIPMSG001I ... Running "take 1".
+++ RC(-4095) +++
------ Original Message ------
Received: 02:03 AM COT, 07/17/2009
From: "John P. Hartmann" <[email protected]>
To: [email protected]
Subject: Re: Terminating a STARMSG pipe
> That is not the example in the book.
>
> The problem is the FANOUT. You only terminated one of its outputs.
> That does not terminate it. Try TOTARGET instead or FANOUTWO if you
> absolutely want two streams.
>
> j.
>
> 2009/7/17 Ian S. Worthington <[email protected]>:
> > I'm trying to use the example from the manual to terminate a starmsg
pipe.
> > But once the string is found:
> >
> > 1. I get a stall from TAKE 1 after it receives the termstring (which I can
fix
> > with ELASTIC, just to annoy Rob, but don't want to as I don't want to
loose
> > the other received messages)
> >
> > 2. After so fixing, I then find that the pipe does NOT terminate, but
still
> > sits there until I enter HMSG
> >
> > What's the best way of making this puppy terminate?
> >
> > 'pipe (end ?)',
> > '?i: faninany',
> > '| locate \'termstring'\',
> > '| take 1',
> > '|g: gate strict',
> > '? starmsg',
> > '|g:',
> > '|o: fanout ',
> > '| specs 17-* 1',
> > '| console',
> > '?o: |i:'
>