diff options
Diffstat (limited to 'libgps_shm.c')
-rw-r--r-- | libgps_shm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libgps_shm.c b/libgps_shm.c index 7cb63c96..4cb28e26 100644 --- a/libgps_shm.c +++ b/libgps_shm.c @@ -55,7 +55,8 @@ int gps_shm_read(struct gps_data_t *gpsdata) else { int before, after; - struct shmexport_t *shared = (struct shmexport_t *)gpsdata->privdata; + void *private_save = gpsdata->privdata; + volatile struct shmexport_t *shared = (struct shmexport_t *)gpsdata->privdata; struct gps_data_t noclobber; /* @@ -83,7 +84,7 @@ int gps_shm_read(struct gps_data_t *gpsdata) (void)memcpy((void *)gpsdata, (void *)&noclobber, sizeof(struct gps_data_t)); - /*@i1@*/gpsdata->privdata = shared; + /*@i1@*/gpsdata->privdata = private_save; return (int)sizeof(struct gps_data_t); } } |