On Mon, 22 Sep 2008 16:38:38 -0500, Dave Day wrote: >Suggestions: > >1)make the assembler routine re-entrant. Successive LOADS will up the use >count, but not actually bring in a new module. > >2)pass the called routine a parm that says this is a successive call, not >the 1st. > >3)if you can't do #2 above, take a look at NAME/TOKEN services. > >4)if you can't do #3 above, create another load module that is not >re-entrant. Just a csect that is all 0's. Have the 1st routine search the >CDE chain for the non re-entrant one. Set indicators in the non re-entrant >dummy 0's load module that tells the other one what the status of things >are. > All good ideas. For a variant of #2 with some influence from #4, let the Rexx routine supply the working storage for the called routine, initialized before the first call. See the use of "ChainingVector" in SYS1.SAMPLIB(CSFTEST) for an example of the Rexx side of this technique.
But none of these deal with the deficiency that Rexx LINKPGM/ATTCHPGM will LOAD and DELETE even a REFReshable load module for each invocation. This causes unwelcome overhead for large numbers of invocations. So, perhaps: 5) Put the routine in LPA if permitted. Would there perhaps be Rexx interfaces to LOAD and DELETE on CBTTAPE (or similar) so the routine could be LOADed and DELETed only once? Would TSO-REXX supply better advice? -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

