How about ftok ? The init function takes a file_name as argument, and this file name is unique per instance of the shared memory region we want to create. We can use this file name with ftok to create a unique key_t that can be used by shmget to retrieve the shared memory identifier.
george. On Jun 2, 2010, at 11:53 , Samuel K. Gutierrez wrote: > On Jun 2, 2010, at 8:49 AM, Jeff Squyres wrote: > >> On Jun 2, 2010, at 10:44 AM, George Bosilca wrote: >> >>>> Not sure what you mean here. common/sm may create new shmem segments at >>>> any time (e.g., during coll sm). The RML message exchange is to ensure >>>> that only 1 process creates and initializes the segment and then all the >>>> others just attach to it. >>> >>> Absolutely not! The RML messaging is not about initializing the shared >>> memory segment. As stated on my original text it has only one purpose: to >>> ensure the file used by mmap is created atomically. The code for Windows do >>> not exchange any RML messages as the function to allocate the shared memory >>> region provided by the OS is atomic (exactly as the sysv one). >> >> I thought that Sam said that it was important that only 1 process >> shmctl/IPC_RMID...? > > Hi George, > > We are using RML messaging in the sysv code to exchange the shared memory ID > (generated by exactly one process). I'm not sure how we would go about > passing along the shared memory ID without RML, but any ideas are greatly > appreciated. > > Thanks, > -- > Samuel K. Gutierrez > Los Alamos National Laboratory > >> >> -- >> Jeff Squyres >> jsquy...@cisco.com >> For corporate legal information go to: >> http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel