I do in the non-example version. I did not include it in the example for 
reasons of brevity.

 

Regards, 
Richard Schuh 

 

________________________________

From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On Behalf Of Kris 
Buelens
Sent: Tuesday, October 09, 2007 11:56 PM
To: IBMVM@LISTSERV.UARK.EDU
Subject: Re: Pipelines Starmsg

 

I don't see a reason directly.  But, why don't you use ADDRESS COMMAND in your 
exec? 

2007/10/10, Schuh, Richard <[EMAIL PROTECTED]>: 

I have a very simple exec that has a pipe that, reduced to its simplest form, 
looks like thi s:

/*  TEST EXEC */                                                                

ipaserver = 'IPSERV'                                                  

say 'IPSERV returned'   getip ()                                                
            

exit                                                                  

                                                                      

getip:                                                                

   'CP SET MSG IUCV'                                                  

   arg ipaddr .                                                       

                                                                      

   'PIPE (end \ name GetIPA)',                                        

   '\  starmsg *msgall cp smsg' ipaserver 'GETIP' ipaddr,             

      '| pick substr w1 of 9-* == /'ipaserver'/',                     

      '| take 1',                                                     

      '| spec 17-* 1',                                                

      '| b: beat 15 /-99 Timeout waiting for the IP Address server./',

      '| fi: faninany',                                               

      '| take 1',                                                     

      '| var ipresp',                                                 

      '| pipestop',                                                   

   '\ b:',                                                            

      '| copy',                                                       

      '| fi:'                                                         

   parse var ipresp iprc ipresp  

   if iprc ¬= 0 then call exit iprc, ipresp                 

   return ipresp                                            

                                                            

exit:                               

   parse arg myrc, msg                                      

   if msg ¬= '' then say msg                                

   exit myrc                                                                    
                 

If this EXEC is executed from the command line, the IP Address is returned as 
expected. It is also returned if called by another simple exec. If another exec 
is inserted into the mix, there is always an error that consists of the message 
from IPSERV being displayed on the console and, some seconds later, a timeout 
message from the above EXEC. 

The two other EXECs do nothing other than call the next in line. Thus, TEST1 
consists of a 'EXEC TEST' command'; TEST2 consists of a 'EXEC TEST1' command. 
The 3 cases are:

1.      TEST command entered from the command line. (works - message trapped by 
the pipe)

2.      TEST1 entered from the command line. (works)

3.      TEST2 entered from the command line. (message is not trapped and a 
timeout occurs approximately 15 seconds after the message is displayed) 

Is this normal? Or even explainable?

pipe q                                                                          
                                  

FPLINX086I CMS/TSO Pipelines, 5741-A05/5655-A17 1.0110 (Version.Release/Mod) - 
Generated 11 Oct 2005 at 12:04:21  

q cmslevel                      

CMS Level 22, Service Level 701

 

Regards,
Richard Schuh 




-- 
Kris Buelens,
IBM Belgium, VM customer support 

Reply via email to