apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Vergoz" ...@binarysec.com>
Subject Re: Shared memory segment management
Date Wed, 19 Apr 2006 12:41:27 GMT

> IIRC the logic for choice of name-based shm implementation for APR does
> exactly match that of MM - is that not true?  I don't know why shmget is
> preferred over mmap in this case.  For anonymous shm, mmap/MAP_ANON is
> indeed preferred over shmget, which does seem inconsistent.

For me an MAP_SHARED used with MAP_ANON isn't correct because an SHM should 
be used to sync a file and a memory. Perhaps i am wrong..

But it isn't recommended to use MAP_FIXED (i.e: manpage) in general. How can 
process A know the SHM start address of process B ? with a pipe ? that is 
dirty. The sys ipc implementation is also not correct and there is something 
you can't do like remapping.

I have made a small implementation of a new SHM design :

- "pager" allows you to specify a multiple of pages that may be used. It 
reduces reallocation so it reduces kernel call.
- Memory auto alignement
- File map auto padding
- Auto remove on bad header
- Auto create if file doesn't exist
- Remap/reallocation possibility.
- Auto padding (mem/file) when reallocating.
- Kernel lock/unlock.
- Memory bridge capatibility.
- 2 lock types.

This implementation was stoped because Apache folks have not been interested 
by this code (this is probably because the code isn't "apr ready")


View raw message