They are not technically the same.

A REFR program can be reloaded at any time. Therefore it cannot self modify as
it cannot know if it has been reloaded. But if it uses common/global areas
without serialization it is not reentrant.

A RENT program is one that can be executed concurrently by multiple thread. It
can self modify as long as a semaphore is used to block the critical section
that self modifies.

REFR+RENT is the commonly understood MVS instantiation of reentrant.

On Sun, 11 Jun 2017 16:59:23 +0000 Jesse 1 Robinson <[email protected]>
wrote:

:>I was very surprised by Chris Poncelet's post, so I used Goggle to find this 
doc:

:>https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieab100/iea3b1_Module_reusability.htm

:>Blew me away. I knew the definition of RENT and REFR, but I believed that 
both attributes were set in combination if either one was specified. So what is 
the difference *in practice* between RENT and REUS? Both seem to imply that a 
module can be executed successively by multiple callers. Furthermore, in 
practice, who in the world would bother with ENQ/DEQ rigmarole to serialize 
execution of a RENT module instead of just coding it REFR in the first place? 
REFR is not that difficult if you set out to do it from the get-go. 

:>And last, what would happen if a self-modifying RENT module were in fact 
executed concurrently by multiple callers without ENQ/DEQ? Incorrect result? 
Abend? I'm verklempt. 

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to