This is the mail archive of the
mailing list for the glibc project.
Re: how do exit and _exit affect mmapped memory?
On Sun, Sep 09, 2012 at 10:29:52PM -0400, Godmar Back wrote:
> You won't find specifically this case in the kernel. It's done via the
> page cache. If you modify a page, it's marked dirty (usually via the
> TLB's dirty bit) - when a dirty page is flushed from the page cache,
> it's written back to disk. BTW, this may not happen until some time
> later; either when the system needs the memory or when pdflush writes
> such pages to disk (every 30 seconds).
Thanks for your explanation.
> I think POSIX actually guarantees that, by saying that: "If MAP_SHARED
> is specified, write references change the underlying object. "
Well, i read and somehow didn't take that as a gaurantee. But now, looking at
it againt i think you are totally right. That it indeed sound like a guarantee.
BTW, posix also says the following in the requirements to _exit
- Memory mappings that were created in the process shall be unmapped before the
process is destroyed.
- [TYM] [Option Start] Any blocks of typed memory that were mapped in the calling
process shall be unmapped, as if munmap() was implicitly called to unmap them.
How come munmap is explicitly mentioned for typed memory as opposed to reqular