[TUHS] mmap, was SCCS, TeamWare, BitKeeper, and Git
Clem Cole
clemc at ccc.com
Tue Dec 17 02:09:42 AEST 2024
On Mon, Dec 16, 2024 at 10:40 AM Douglas McIlroy <
douglas.mcilroy at dartmouth.edu> wrote:
> >> Does anyone know whether there are implementations of mmap that
> >> do transparent file sharing? It seems to me that should be possible by
> >> making the buffer cache share pages with mmapping processes.
>
> > These days they all do. The POSIX rationale says:
>
> > ... When multiple processes map the same memory object, they can
> > share access to the underlying data.
>
> Notice the weasel word "can". It is not guaranteed that they will do so
> automatically without delay. Apparently each process may have a physically
> distinct copy of the data, not shared access to a single location.
>
Hmmm — how did that make it through the IEEE editing process? However, that
is not part of the standard if it's in the Rationale - just an explanation
of the standard - which I want want look at more carefully to see what it
says about what is required of mmap(2).
That said, as Heinz and the rest of us who worked on the original version
of what would come to POSIX can tell you, the word "can" was always a
no-no. The word "SHALL" is the the official IEEE word, and if you use
"SHOULD," even in the rationale and it was very much frowned upon. I'll
have try dig up the troff sources to an early draft of the original and do
a "grep -i should * | wc -l" through it. I bet the number is very small
and "can" is zero.
That said, it has been a few years since I have read a current draft, but
less the rationale section (which is not the standard itself).
Clem
Clem
ᐧ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/tuhs/attachments/20241216/8bd0a691/attachment.htm>
More information about the TUHS
mailing list