Our applications are all either single threaded batch (including batch DL/I) or CICS. Is it correct that under CICS, even without the RENT binder option, only a single instance of (the code portion of) a program is loaded in the CICS region?
In response to someone else's commend, I don't want to justify not using REUS=RENT, only to determine if we should make an effort to, for example, rebind all of our dynamically called subroutines with REUS=RENT, and then use REUS=RENT from this point forward. Someone else stated that by compiling with the RENT compiler option, it will implicitly bind as RENT as well. My observations tell me that this is not the case. ________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Bernd Oppolzer <[email protected]> Sent: Saturday, August 14, 2021 4:14 PM To: [email protected] <[email protected]> Subject: Re: RENT binder option IMO, for DLL support, the RENT compiler option is an absolute requirement; it makes your Cobol load module reentrant (constructed reentrancy) and does a lot of other things to the code generation, and DLL calls will not work without this. LONGNAME is another prerequisite, IIRC ... same in PL/1. The RENT linker option, OTOH, is sort of optional ... it tells the system, that the module is reentrant and that parallel running tasks or subtasks may use the same copy in storage concurrently (different from NORENT or REUS), but the DLL calls will work, even if you don't mark your module as being RENT. IMO, if you are not running your programs in a multitasking environment (batch job only, for example), the DLL calls will internally do a LOAD of the DLL only once and then ... like explained in my other mail ... use machine instructions for transfer of control. So there is not really a problem. But, of course, it is better to specify RENT on the binder. Kind regards Bernd Am 14.08.2021 um 01:16 schrieb Frank Swarbrick: > For our COBOL program binder step we've never specified the RENT (or > REUS=RENT) option, even though we always use the RENT compiler option. This > has never seemed to cause us any problems. I now see in the Enterprise COBOL > manual, section "Compiling programs to create > DLLs"(https://www.ibm.com/docs/en/cobol-zos/6.3?topic=application-compiling-programs-create-dlls), > where it states "Applications that use DLL support must be reentrant. > Therefore, you must compile them with the RENT compiler option and link them > with the RENT binder option." However, I've been doing testing with DLLs > recently and have never had any (noticeable?) issues even though we are not > specifying RENT or REUS=RENT. > > So what's up with this? And what about for non-DLL dynamic calls? I've had > no issues there, either. > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
