IBM initially only used REFR in the Machine Check Handler (MCH), which could recover from a parity error in, e.g., a transient SVC, by reading in a fresh copy. There was no non-modifiable storage at the time.
REFR stopped being relevant in SVS, and only became relevant with the support of REFRPROT. What happens if you have an RSECT but don't bind with REFR? Yes, what makes a program reentrant is proper serialization of shared data, whether4 those data be in the module or elsewhere. What some perceives as nits become important when somebody breaks things through not understanding them. Getting serialization wrong can cost your employer a lot of money, or worse. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Steve Smith [sasd...@gmail.com] Sent: Monday, February 8, 2021 5:15 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: LINK vs LOAD/CALL That's what I've been wondering. If, as in 99.99% of the cases, a REFR module does *not* modify itself, then ASM/RSM will know that when it matters, and will *not* page it out (after the first time). Logically, it would seem REFR would imply that OK, I know I've diddled myself, but it's OK, no need to page me out. And that is nonsense. z/OS (and ancestors) already decided RENT means a module can be loaded into non-modifiable storage, so what is the point of REFR anyway? They should have made the (or an) attribute NMOD, so there wouldn't be any need for endless discussion of what reentrant and refreshable really mean, practically and technically. And yes, technically, both can be implemented in a self-modifying program, given certain constraints. But practically, RENT or REFR modules at least some times are prevented from being modified. And technically, a non-self-modifying program can be made non-reentrant... I've seen it happen by accident. A "clever" programmer used a common global area for a few non-global variables, leading to the all-too-predictable unpredictable results when you screw up multi-tasking. sas On Mon, Feb 8, 2021 at 4:32 PM Binyamin Dissen <bdis...@dissensoftware.com> wrote: > ... > In other words, does REFR mean anything to the OS other than the > possibility > of loading the module into page protected storage? > > ---------------------------------------------------------------------- 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