Serial reusable: a task can load the module, call it, then call it again and 
get correct results. The OS will seralize LINK to the module from different 
tasks.

Reentrant: You can invoke the module concurrently from multiple tasks and get 
correct results. The code is responsible for any necessary serialization.

Refreshable: The module gets correct results even if the OS replaces it with a 
fresh copy in the middle of execution. 99% of the time refreshable modules are 
read-only code.

Originally marking as refreshable was independent of the other attributes, but 
the Binder forces a hierarchy:

     "The linkage editor processed the serially reusable (REUS), reenterable 
(RENT) and refreshable (REFR)
     attributes as separate and independent options. The binder, however, 
treats them as a single, multivalued
     attribute with an implied hierarchical relationship: “refreshable” implies 
“reenterable” and “reenterable”
     implies “serially reusable”. This might result in some confusion for prior 
linkage editor users who are
     accustomed to specifying inconsistent combinations of these attributes, 
such as “REFR,NORENT”. In such
     situations the binder selects the strongest reusability attribute among 
those specified.
       In addition, unlike the linkage editor, the binder honors any override 
of reusability 
     specified in the PARM statement."


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Phil Smith III [li...@akphs.com]
Sent: Wednesday, February 15, 2023 4:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Are JNI required to be re-entrant and/or re-usable?

I feel stoopid[er than usual]: I don't understand the difference between
"serially reusable" vs. "reusable" vs. "reentrant" in this context. I know
what the first and last one are, but it seems like the middle one should be
the same as one of the others.



Unless the difference between the latter two is that "reusable" means "one
user running a shared copy at a time without reloading" and "reentrant"
means "multiple users running the same copy at the same time"? Peter?


----------------------------------------------------------------------
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

Reply via email to