summaryrefslogtreecommitdiff
path: root/shmexport.c
diff options
context:
space:
mode:
authorBeat Bolli <bbolli@ewanet.ch>2011-03-27 15:29:20 +0200
committerEric S. Raymond <esr@thyrsus.com>2011-03-27 11:13:52 -0400
commit8118ed642d8d2d046684d5ce596206698127dc4b (patch)
tree1ecbbb0312cce095f3904901b9f82f697b277c72 /shmexport.c
parenteb790f2bc68723811d1a6b0e4095c9fc1e0f75e5 (diff)
downloadgpsd-8118ed642d8d2d046684d5ce596206698127dc4b.tar.gz
Move the memory barrier instructions into the header file
This allows adding other compilers and/or architectures later as needed. Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Diffstat (limited to 'shmexport.c')
-rw-r--r--shmexport.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/shmexport.c b/shmexport.c
index d9aad54c..4d615abf 100644
--- a/shmexport.c
+++ b/shmexport.c
@@ -77,15 +77,11 @@ void shm_update(struct gps_context_t *context, struct gps_data_t *gpsdata)
* get clobbered first and the data can be detected as bad.
*/
((struct shmexport_t *)context->shmexport)->bookend2 = tick;
-#ifndef S_SPLINT_S
- asm volatile("sfence");
-#endif /* S_SPLINT_S */
+ barrier();
memcpy((void *)(context->shmexport + offsetof(struct shmexport_t, gpsdata)),
(void *)gpsdata,
sizeof(struct gps_data_t));
-#ifndef S_SPLINT_S
- asm volatile("sfence");
-#endif /* S_SPLINT_S */
+ barrier();
((struct shmexport_t *)context->shmexport)->bookend1 = tick;
}
}