From 5b3382dce406f2a520ff63b64d58f80e24ae74e2 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 11 Feb 2015 22:37:39 -0500 Subject: Instrument shm segment creation a bit better. All regression tests pass. --- libgps_shm.c | 6 ++++-- shmexport.c | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libgps_shm.c b/libgps_shm.c index e8dd30f4..fda963da 100644 --- a/libgps_shm.c +++ b/libgps_shm.c @@ -41,14 +41,16 @@ struct privdata_t int gps_shm_open(/*@out@*/struct gps_data_t *gpsdata) /* open a shared-memory connection to the daemon */ { + int shmid; + /*@-nullpass@*/ - int shmid = getenv("GPSD_SHM_KEY") ? atoi(getenv("GPSD_SHM_KEY")) : GPSD_KEY; + int shmkey = getenv("GPSD_SHM_KEY") ? atoi(getenv("GPSD_SHM_KEY")) : GPSD_KEY; /*@+nullpass@*/ libgps_debug_trace((DEBUG_CALLS, "gps_shm_open()\n")); gpsdata->privdata = NULL; - shmid = shmget((key_t)shmid, sizeof(struct gps_data_t), 0); + shmid = shmget((key_t)shmkey, sizeof(struct gps_data_t), 0); if (shmid == -1) { /* daemon isn't running or failed to create shared segment */ return -1; diff --git a/shmexport.c b/shmexport.c index c9fe87b1..625f570a 100644 --- a/shmexport.c +++ b/shmexport.c @@ -35,14 +35,14 @@ bool shm_acquire(struct gps_context_t *context) /* initialize the shared-memory segment to be used for export */ { /*@-nullpass@*/ - int shmid = getenv("GPSD_SHM_KEY") ? atoi(getenv("GPSD_SHM_KEY")) : GPSD_KEY; + int shmkey = getenv("GPSD_SHM_KEY") ? atoi(getenv("GPSD_SHM_KEY")) : GPSD_KEY; /*@+nullpass@*/ - shmid = shmget((key_t)shmid, sizeof(struct gps_data_t), (int)(IPC_CREAT|0666)); + int shmid = shmget((key_t)shmkey, sizeof(struct gps_data_t), (int)(IPC_CREAT|0666)); if (shmid == -1) { gpsd_report(&context->errout, LOG_ERROR, "shmget(%ld, %zd, 0666) failed: %s\n", - (long int)shmid, + (long int)shmkey, sizeof(struct gps_data_t), strerror(errno)); return false; -- cgit v1.2.1