[ntp:hackers] [Gpsd-dev] A lightweight synchronization mechanism for shared memory
esr at thyrsus.com
Fri Mar 25 11:05:50 UTC 2011
Terje Mathisen <terje at tmsw.no>:
> Going to at least two buffers gets totally rid of the problem for
> all readers, they can always read a full/valid record.
> This is "starkly simple" compared to any setup where all clients
> have to have complicated code to guard against partially updated
By "complicated code" do you mean the memory-barrier instructions?
Because in the low-power, memory-constrained environments I have
in mind, they seem like a good tradeoff for requiring less memory
than a multiple-buffer solution.
The rest of the required implementation doesn't seem complicated to
me. It basically just consists of one forward copy, one backward copy,
and a trivial check-and-loop by the reader.
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
More information about the hackers