apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branko ─îibej <br...@xbc.nu>
Subject Re: Shared memory and IPC
Date Mon, 10 Sep 2001 18:44:24 GMT
Luke Kenneth Casson Leighton wrote:

>the implementation has, if you to are pass over data
>structures between programs, presumably in exactly
>the same way that those DB apps are doing,
>
I don't think DBMSs pass around pointers.

> you must
>preserve pointers / memory segment offsets.
>
>and that means using MMAP_FIXED.
>
>if anyone has any better ideas, love to hear them.
>
You're passing around structured defined in IDL, right? Therefore you 
know exactly where the pointers are. I assume pointers are the only bits 
that will cause problems if the segment isn't mapped to the same 
addresses in both apps.

If all of the above is correct, and MMAP_FIXED fails (as it sometimes 
will) or isn't available (as it often isn't), you can simply fixup the 
pointers by adding an offset -- the difference between the addresses of 
the mapped area in the two apps. That would still be faster than a 
memcpy (except if you're passing arrays of poitners).


-- 
Brane ─îibej   <brane@xbc.nu>            http://www.xbc.nu/brane/




Mime
View raw message