I am not sure that I fully understand exactly what you want to do or
the exact sequence in which you want to do it.

Your objective is, however, clear: You want to be able to use the CICS
RENTPGM=PROTECT facility.  If 1) you specify this option for a CICS
application program (AP) and 2) CICS honors it, that AP is placed in
read-only storage.

A later attempt to execute such an AP will have dire consequences if
it in fact modifies itself.  You may not therefore specify this option
for a load module or program object that contains a non-reentrant
assembly-language module or modules.

As you have noted, there is no great difficulty about making your
COBOL modules reentrant.  Instructing your compiler to do so will
accomplish this.

Specifying the RENT option when you assemble your HLASM subroutines
instructs the HLASM to check your code for non-reentrant constructs,
and it finds many but not quite all of them.  (You can and should use
the &SYSOPT_RENT boolean within  each assembly unit to ensure that the
RENT option has in fact been specified for it.)

I strongly recommend that you also make these assembly-language
modules LE-compatible.  Using the LE's LIFO storage-management
facilities will make the task of making these modules reentrant much
easier.

John Gilmore, Ashland, MA 01721 - USA

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to