diff options
author | Beat Bolli <bbolli@ewanet.ch> | 2011-03-27 15:29:20 +0200 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2011-03-27 11:13:52 -0400 |
commit | 8118ed642d8d2d046684d5ce596206698127dc4b (patch) | |
tree | 1ecbbb0312cce095f3904901b9f82f697b277c72 /shmexport.c | |
parent | eb790f2bc68723811d1a6b0e4095c9fc1e0f75e5 (diff) | |
download | gpsd-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.c | 8 |
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; } } |