Donald Likens wrote: >The follow code supports a FIFO control block chain in CSA. When nothing is in >the queue the first and last pointers are zero. It must not be working >properly because one of my users gets orphan control blocks periodically.
How does that user know these blocks are 'orphaned'? >Does anyone see the problem in this code? Hard to see, but lets get going... >CSAMSEGF DS AD Pointer to FIRST CB >CSAMSEGL DS AD Pointer to last CB in chain >MSEGNEXT DS AD NEXT Control block in chain Please post the full coding. Those comments are not helpful. > STG R8,OPERAND1R (REPLACES CSAMSEGL) > XC OPERAND1,OPERAND1 (COMPARISON VALUE) > XC OPERAND3,OPERAND3 (COMPARISON VALUE) > STG R8,OPERAND3R (REPLACES WHERE OPERAND4 POINTS) ... etc. ... how are all those OPERAND... filled-in/loaded with values? I'm asking because they are defined as DS and I don't see (or missed somehow) how these variables are filled-in/loaded with values. Or are they GETMAINed and then filled in with values? Are all these ORG statements on a full-word boundary? Can you post the RMODE + AMODE of those code segment? Alternatively, can you re-post your question on Assembler-L? There are great gurus waiting there to help! Groete / Greetings Elardus Engelbrecht ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
