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.