Hi, Leland.

I don't believe that CMS Rexx does provide a default EVALBLOK when it calls an external function. Rexx calls the function with calltype x'05' and register 1 points to the tokenized plist and register 0 points to the 6 word extended plist (EPLIST). The last word in the eplist is a pointer to a (possible) returned EVALBLOK. This location contains a zero on entry; will be unchanged (still zero) if no result is returned and will contain the address of an EVALBLOK, allocated by the called function, if a result is returned. This is all from 8.13.1 of the Rexx/VM Reference Guide for z/VM 5.3


Leland wrote:
Let's say I have an external REXX function that needs to return more data than
there's space for in the default EVALBLOK that's provided by CMS.  Allocating a
new one and storing it's addr in the EPLIST isn't a easy enough.

But, the should the original be CMSSTOR RELEASEd?

Not doing so causes memory leakage.  But maybe there's a "proper" way of letting
REXX know that it wasn't used and should be discarded???

Thanks,

Leland

--
DJ

V/Soft
  z/VM and mainframe Linux expertise, training,
  consulting, and software development
www.vsoft-software.com

Reply via email to