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