POSIX shared memory (shm_open)

Lassi Kortela <[email protected]>
Newsgroups gmane.os.plan9.general
Message-ID <[email protected]>
Hello,

Can the POSIX shared memory API be emulated on Plan 9 with reasonable 
effort? I didn't find any mention of 'shm_open' in Plan 9 source.

To recap, the API works as follows:

- shm_open(path) to open or create an shm object, get a file descriptor
- shm_unlink(path) to remove the shm object from the path namespace
- ftruncate(fd) to actually allocate n bytes for the shm object
- fstat(fd) returns the size of the object in the st_size field
- mmap(fd) to get a pointer to use the shared memory

The shm fd works like other Unix fds (can be sent to an unrelated 
process over a Unix-domain socket, persists over fork(), and can persist 
over exec() if the close-on-exec flag is cleared). The kernel garbage 
collects the shm object after the last fd pointing to it is closed.

I made the shim <https://github.com/lassik/shm_open_anon> to provide a 
"shm_open() without a pathname" on various Unix flavors. I'm wondering 
if Plan 9 support could be easily added.

I should mention that I have never used Plan 9, just read some of the 
source and documentation.

Regards,
Lassi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.