Exactly.  Good call Peter.

The bottom line - shim pointers need to be apr_size_t indexes into
the defined SHM segment.

Peter Samuelson wrote:
> [Manfred Rebentisch]
>> struct mystr {
>>      struct mystr* next;
>>      char* data;
>>      size_t dsize;
>> };
> 
> I'm pretty sure you can't portably implement shared memory mapped to a
> fixed base address in all processes.  Thus pointers simply _cannot_ be
> shared as pointers, you need to make them size_t values relative to the
> shm segment base address, or something.
> 
> On many systems you can _request_ that a shm segment be mapped to a
> particular address, but the OS may or may not be able (and willing) to
> honor that.  And on other systems you can't even do that.  So apr
> doesn't support that feature.


Reply via email to