It is possible to write a module that is refreshable but not read only. However, it will fail once you turn on REFRPROT, and is bad form even if you don't.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Michael Stein [m...@zlvfc.com] Sent: Saturday, February 6, 2021 1:09 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: load module search order and attributes On Fri, Feb 05, 2021 at 03:53:17PM -0500, Joseph Reichman wrote: > I opened a dcb load library with the same load mod name as the first > Did an attach DCB= TASKLIB= > > Didn’t pick it up from there as the module from the first load lib > with same name was linked REUS It helps to know where to look things up: ** module reusability z/OS Version 2 Release 3 MVS Program Management: User's Guide and Reference SA23-1393-30 ieab100_v2r3.pdf see pdf page 48, page 28 nonreusable: single use only, need a new copy if used (or in use) serially reusable: only a single use at a time, later requestors need to wait for use to complete {ATTACH/LINK/XCTL/SVC 3-exit keep track of module in use status, note that when using LOAD/CALL/DELETE the system doesn't t known when you call or return from the module} {In the case of the system keeping track of the module use, it may delay start of an execution until the current use is complete} reenterable (reentrant): concurent execution by multiple tasks. If modifies it's own data areas it must do it's own serialization. refreshable: all or part of the module can be replaced at any time without notice by the operating system. *therefore* must not modify itself in any way. {** beware ** some module attributes and authority levels force modules to beloaded into different key storage and/or protected storage. This may affect fetch access too} Linkage editor processing of attributes: refer rent reus are all treated as separate attributes Binder only a single attribute and implies/overrides lower attributes refer > rent > reus > none {guess, doesn't explicitly say} ** module search order z/OS Version 2 Release 3 MVS Programming: Assembler Services Guide SA23-1368-30 ieaa600_v2r3.pdf see pdf page 69, page 43 The search for a load module: - requesting tasks' load list - job pack area - requesting task's task library (and up parent tree of tasklibs) - steplib - link pack area - link library {I think of joblib/steplib as a tasklib set by the attacher of the job step task...} ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN