I've read through the man pages on mmap, munmap, and msync, and I still
am not sure that I'm using the correct flags. Actually, I'm not even
completely sure that mmap is the way to go.
I'm creating a queue-like data structure that uses a fixed amount of
heap space. When it fills up, it must dump itself to a file, and then
it can consider itself "cleared", and continue adding elements. If a
remove() call is made on the structure, and it's currently empty but has
previously dumped to disk, it loads the data from disk, and then
continues. Also, this is only a single-threaded application.
I thought that I should use the MAP_PRIVATE flag when I map the file,
then just munmap() then call close(fd) when I dump it, but that's not
working. I'm just getting empty files.
Is mmap even the way to go, or should I just be using write() and read()?
--
Topher Fischer
GnuPG Fingerprint: 3597 1B8D C7A5 C5AF 2E19 EFF5 2FC3 BE99 D123 6674
javert42@cs.b... |
http://www.thetopher.com
opensubscriber is not affiliated with the authors of this message nor responsible for its content.