greg wrote: > Carl Banks wrote: >> In C you can use the mmap call to request a specific physical location >> in memory (whence I presume two different processes can mmap anonymous >> memory block in the same location) > > Um, no, it lets you specify the *virtual* address in the process's > address space at which the object you specify is to be mapped. > > As far as I know, the only way two unrelated processes can share > memory via mmap is by mapping a file. An anonymous block is known > only to the process that creates it -- being anonymous, there's > no way for another process to refer to it.
On POSIX systems, you can create a shared memory object without a file using shm_open. The function returns a file descriptor. > However, if one process is forked from the other, the parent > can mmap an anonymous block and the child will inherit that > mapping. > > (I suppose if both processes had sufficient privileges they > could map physical memory out of /dev/mem, but that would be > *really* dangerous!) > > -- > Greg -- http://mail.python.org/mailman/listinfo/python-list