Tweak a commment about SHMMEM handling.
authorGary E. Miller <gem@rellim.com>
Mon, 5 Oct 2015 18:55:44 +0000 (11:55 -0700)
committerGary E. Miller <gem@rellim.com>
Mon, 5 Oct 2015 18:55:44 +0000 (11:55 -0700)
shmexport.c

index a69e6cb..179a614 100644 (file)
@@ -87,6 +87,11 @@ void shm_update(struct gps_context_t *context, struct gps_data_t *gpsdata)
         * Reader copies what it sees in normal order; that way, if we
         * start to write the segment during the read, the second bookend will
         * get clobbered first and the data can be detected as bad.
+        *
+        * Of course many architectures, like Intel, make no guarantees
+        * about the actual memory read or write order into RAM, so this
+         * is partly wishful thinking.  Thus the need for the memory_barriers()
+         * to enforce the required order.
         */
        shared->bookend2 = tick;
        memory_barrier();