Does anyone see any problems with the following code... Updating free space 
pointer.

*C DO UNTIL SBLKFREE IS SET                                                     
 
*C   SET R6 = CSALSBLK.SBLKFREE (ADDRESS TO PUT STORAGE)                        
 
         LG   R5,CSALSBLK                                               01-SBLK 
 
         LG   R6,SBLKFREE-MSBLKCB(,R5)                                  01-SBLK 
 
SBDOA0008    DS 0H                                                      01-SBLK 
 
*C   SET R8 = CSALSBLK.SBLKFREE + ROUND(&LENGTH)                                
 
         LGR  R8,R6                                                     01-SBLK 
 
         AGR  R8,R7                                                     01-SBLK 
 
*C   SET SBLKFREE = SBLKEOBA (SERIALIZED)                                       
 
*C*      MAY PUT SBLKFREE PAST SBLKEOBA BUT WILL NOT USE IT, IF DOES (not 
likely in middle!)             
         CSG   R6,R8,SBLKFREE-MSBLKCB(R5)                               01-SBLK 
 
*                                IF SBLKFREE = R6, STG R8 SBLKFREE              
 
         BC    4,SBDOA0008       ELSE GOTO SBDOA&SYSNDX                 01-SBLK 
 

It seems correct to me but I have one user that has problems with orphan 
control blocks once in a while and would like your thoughts.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to