Shared memory and IPC

Luke Kenneth Casson Leighton lkcl at samba-tng.org
Fri Sep 7 05:23:01 GMT 2001


On Fri, Sep 07, 2001 at 11:50:40AM +0100, Wez Furlong wrote:
> On 07/09/01, "Luke Kenneth Casson Leighton" <lkcl at samba-tng.org> wrote:
> > > The real question is, what *do* you do on failure?  One possible
> > > protocol: the "master" process does mmap() without MAP_FIXED, reports
> > > the address to the others via some sort of existing IPC, the rest try
> > > with MAP_FIXED, report back success or failure.  If anyone fails, they
> > > all unmap *except* the master, which repeats the process with another
> > > mmap() [again without FIXED] ... for a specified number of tries.  Upon
> > > success, or upon giving up, the master munmaps all failed segments, if
> > > any.
> 
> Yes, but... (see below)
>  
> > see, this is the bit that i was hoping that noone would suggest
> > even be attempted, even though it's technically a correct
> > solution :)
> 
> Sounds like a lot of effort on the part of all processes involved.
> What if a new process is introduced after the others have negotiated
> the address space that cannot map those address(es)??

you know, this _does_ tend to suggest that the protocol
implemented by transport enumeration behind the epmapper
would be useful.

an additional system call which gives an array of memory
ranges that will succeed, or is likely to succeed, if mmap is
called immediately with MMAP_FIXED.

... or is that overkill?

luke




More information about the samba-technical mailing list