Hmm.  Apparently I need more than 3 hours of sleep at night.

This demonstrates the *other* problem : the need for a buffer.  Putting
ELASTIC in before the TAKE 1 fixes the stall.  And the pipe terminates just as
John promised it would.

But I'm still left with the issue of what messages am I loosing in the buffer,
and why I need the elastic in the first place.

Maybe some coffee will help me think...

i

------ Original Message ------
Received: 10:56 AM COT, 07/17/2009
From: "Ian S. Worthington" <[email protected]>
To: <[email protected]>, "John P. Hartmann"
<[email protected]>
Subject: Re: Terminating a STARMSG pipe

> 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:'
> > 
> 
> 
> 
> 

Reply via email to