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