The _C_TS_malloc api enables me to access teraspace storage from a single-level storage pgm. At least this is what the 7.1 doc says: "Similarly, a single-level storage model program can explicitly use bindable APIs to work with teraspace, such as_C_TS_malloc,_C_TS_free,_C_TS_reallocand_C_TS_calloc." This works for 6.1 and above. I can't find any doc for V5R4 that describes these api's although I know they're there: in QC2UTIL3. I'm not going to waste too much time on it but I thought someone might have run into this before. Is (was) anyone on V5R4 using _C_TS_malloc and was the program teraspace or single level storage?


On 9/15/2015 9:18 PM, CRPence wrote:
On 15-Sep-2015 12:44 -0600, Tim Bronski wrote:
I have a client on V5R4 (they'll be upgrading shortly I'm told). A
new version of one of our programs fails on a memory allocation that
uses the teraspace memory allocator _C_TS_malloc. NULL is returned.
This isn't a very large allocation - a few k maybe. A version using
malloc works ok. Is there something about teraspace on V5R4 that I
don't know? The program uses single level storage apart from the
_C_TS_malloc'ed stuff. This all works fine on higher releases.

As I recall the compile commands have changed since then, to be /nicer/ for effecting Teraspace-capable storage; i.e. the capability is available per the parameter defaults of the compile commands on newer releases. But on the older releases [presumably that way on v5r4], the CRTxxxPGM must have explicitly specified that the compiled code will be allowed to utilize Teraspace storage by using Storage Model (STGMDL) specification of *TERASPACE instead of the [default specification of] *SNGLVL. And if the compile is not explicitly set [or the defaults changed] to allow the Teraspace Storage Model, then the teraspace methods will return the null result, as was seen.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].