Re: putenv for AIX and ifdef for AIX Gary R. Hook schrieb:
> ClownPleco wrote:
>>
>> set LDR_CNTRL=MAXDATA=0x80000000;export LDR_CNTRL
>>
>> Our problem is that we start a parent process that spawns the child
>> application. If we set the LDR_CNTRL=MAXDATA prior to starting the
>> parent process, other child applications are failing.
>
> The issue here doesn't appear to be putenv(), it appears to be how
> your applications expect the 32-bit address space to be laid out.
> The maxdata feature causes segments (usually reserved for shared memory
> attaches) to be used for the heap. If your applications perform
> shared memory operations and (a) presume to know the location of
> an attach, (b) have expectations on specific addresses for an attach,
> or (c) require more than 2 simultaneous attaches, then maxdata is not
> going to work for you. You might want to just use ldedit to modify
> the characteristics of the binary that requires that much heap space,
> and leave everything else alone.
>
Or try
LDR_CNTRL=MAXDATA=0x80000000@DSA;export LDR_CNTRL
See the 'Large Program Support' article in the AIX
publications and in there the part on 'Understanding
the Very Large Address-Space Model' for more details. |